Accès illimité 24h/24 à tous nos livres & vidéos ! Découvrez la Bibliothèque Numérique ENI. Cliquez ici.
  1. Livres et vidéos
  2. Programmation shell sous Unix/Linux - ksh, bash, norme POSIX (avec exercices corrigés) (7e édition)

Programmation shell sous Unix/Linux ksh, bash, norme POSIX (avec exercices corrigés) (7e édition)

  • En stock
  • Expédié en 24h00
  • Livraison à partir de 0,01 €
  • Version en ligne offerte pendant 1 an
  • 1 h d'accès gratuit à tous nos livres et vidéos pour chaque commande
  • Accessible immédiatement et pour une durée de 10 ans
  • Version HTML
  • Accès illimité 24h/24, 7J/7
  • Accès illimité 24h/24, 7J/7
  • Tous les livres en ligne, les vidéos et les cours enregistrés ENI
  • Plus de 10 nouveautés livres et vidéos chaque mois
  • Les nouveautés disponibles le jour de leur sortie
  • Accès 100% en ligne

Présentation

Ce livre sur la programmation shell s'adresse aux utilisateurs et administrateurs des systèmes Unix/Linux souhaitant se former à l'écriture de scripts shell. Les fonctionnalités des shells ksh88, ksh93 et bash sont détaillées et leurs différences signalées. Le cas échéant, la conformité à la norme POSIX est mentionnée. Il en sera de même pour la compatibilité avec le shell historique Bourne. Les thèmes sont présentés de manière progressive et pédagogique, ce qui fait de cet ouvrage un support idéal destiné aussi bien à la formation professionnelle qu'à l'autoformation.

Les premiers chapitres sont consacrés au fonctionnement du shell : lancement d'une commande, caractères spéciaux du shell couramment employés (redirections, tubes…), paramétrage de l'environnement de travail de l'utilisateur (variables et fichiers d'environnement…).

La suite de l'ouvrage est dédiée à la programmation proprement dite. Les bases de la programmation (variables, structures de contrôle, commandes de test et de calculs…) sont présentées et illustrées par de nombreux exemples. Sont ensuite détaillés les aspects avancés de la programmation shell (gestion des fichiers, fonctions…).

Les mécanismes internes du shell sont expliqués en détail et illustrés par de nombreux schémas.

La dernière partie de l'ouvrage traite des outils annexes indispensables au traitement de chaînes de caractères et de fichiers texte : les expressions régulières basiques et étendues, l'éditeur non interactif sed, un panorama étendu du langage awk enrichi de fonctionnalités gawk, ainsi que les principales commandes filtres des systèmes Unix. Le chapitre Comment faire résume les principales problématiques et présente différentes méthodes de résolution.

Des exercices permettront au lecteur de pratiquer l'écriture de scripts shell tout au long de l'ouvrage. Les solutions sont présentées dans le dernier chapitre. Les exemples de scripts présentés dans l'ouvrage, ainsi que les scripts solutions des exercices sont disponibles en téléchargement sur le site www.editions-eni.fr.

Table des matières

  • Introduction
    • 1. Définition du shell
    • 2. Caractéristiques d'un interpréteur de commandes
    • 3. Interpréteurs de commandes (shells)
      • 3.1 Historique
      • 3.2 Avec quel shell faut-il programmer ?
      • 3.3 Nom des exécutables à invoquer
    • 4. Shells abordés dans cet ouvrage
  • Mécanismes essentiels du shell
    • 1. Présentation
    • 2. Commandes internes et externes
      • 2.1 Les commandes externes
      • 2.2 Les commandes internes
      • 2.3 Implémentation interne et implémentation externe
    • 3. Affichage à l'écran
      • 3.1 La commande echo
        • 3.1.1 Le caractère \n
        • 3.1.2 Le caractère \c
        • 3.1.3 Le caractère \t
      • 3.2 Les commandes print et printf
    • 4. Le caractère ~ (tilde)
    • 5. La commande interne cd
    • 6. Substitution de noms de fichiers
      • 6.1 Expressions basiques
        • 6.1.1 Le caractère *
        • 6.1.2 Le caractère ?
        • 6.1.3 Les caractères [ ]
      • 6.2 Expressions étendues
        • 6.2.1 ? (expression)
        • 6.2.2 *(expression)
        • 6.2.3 +(expression)
        • 6.2.4 @(expression)
        • 6.2.5 !(expression)
        • 6.2.6 Alternatives
      • 6.3 Interprétation du shell
    • 7. Séparateur de commandes
    • 8. Redirections
      • 8.1 Entrée et sorties standards des processus
        • 8.1.1 Entrée standard
        • 8.1.2 Sortie standard
        • 8.1.3 Sortie d'erreur standard
      • 8.2 Héritage
      • 8.3 Redirection des sorties en écriture
        • 8.3.1 Sortie standard
        • 8.3.2 Sortie d'erreur standard
        • 8.3.3 Sortie standard et sortie d'erreur standard
        • 8.3.4 Se protéger d’un écrasement involontaire de fichier
        • 8.3.5 Éliminer les affichages
        • 8.3.6 Mécanisme interne
      • 8.4 Redirection de l'entrée standard
      • 8.5 Rediriger les descripteurs 1 et 2 vers le même fichier
      • 8.6 La double redirection en lecture
      • 8.7 Fermeture d'un descripteur
    • 9. Tubes de communication
      • 9.1 Commandes ne lisant pas leur entrée standard
      • 9.2 Commandes lisant leur entrée standard
        • 9.2.1 Exemples triviaux
        • 9.2.2 Cas des filtres
      • 9.3 Compléments
        • 9.3.1 Enchaîner des tubes
        • 9.3.2 Dupliquer les sorties
        • 9.3.3 Envoyer la sortie standard et la sortie d'erreur standard dans le tube
    • 10. Regroupement de commandes
      • 10.1 Les parenthèses
      • 10.2 Les accolades
      • 10.3 Conclusion
    • 11. Processus en arrière-plan
      • 11.1 Principe
      • 11.2 Contrôle de tâches (jobs)
    • 12. Exercices
      • 12.1 Fonctionnalités diverses
        • 12.1.1 Exercice 1 : commandes internes et externes
        • 12.1.2 Exercice 2 : génération de noms de fichiers
        • 12.1.3 Exercice 3 : séparateur de commandes
      • 12.2 Redirections
        • 12.2.1 Exercice 1
        • 12.2.2 Exercice 2
        • 12.2.3 Exercice 3
        • 12.2.4 Exercice 4
        • 12.2.5 Exercice 5
        • 12.2.6 Exercice 6
      • 12.3 Tubes de communication
        • 12.3.1 Exercice 1
        • 12.3.2 Exercice 2
        • 12.3.3 Exercice 3
        • 12.3.4 Exercice 4
  • Paramétrage de l'environnement de travail
    • 1. Présentation
    • 2. Variables d'environnement
      • 2.1 Liste des variables
      • 2.2 Affichage de la valeur d'une variable
      • 2.3 Modification de la valeur d'une variable
      • 2.4 Principales variables
        • 2.4.1 HOME
        • 2.4.2 PATH
        • 2.4.3 PWD
        • 2.4.4 PS1
        • 2.4.5 PS2
        • 2.4.6 SHELL
        • 2.4.7 TMOUT
        • 2.4.8 TERM
        • 2.4.9 LOGNAME
        • 2.4.10 BASHOPTS
      • 2.5 Processus et variables d'environnement
      • 2.6 Exportation des variables du shell
        • 2.6.1 Liste des variables exportées
        • 2.6.2 Variables devant être exportées
        • 2.6.3 Exporter une variable
    • 3. Les options du shell
      • 3.1 Activer et désactiver une option du shell
      • 3.2 Visualiser la liste des options
      • 3.3 Principales options
        • 3.3.1 ignoreeof
        • 3.3.2 noclobber
        • 3.3.3 emacs et vi
        • 3.3.4 xtrace
    • 4. Les alias
      • 4.1 Définir un alias
      • 4.2 Visualiser la liste des alias
        • 4.2.1 Visualiser tous les alias
        • 4.2.2 Visualiser un alias en particulier
      • 4.3 Supprimer un alias
    • 5. Historique de commandes
      • 5.1 Paramétrer le rappel de commandes en ksh
        • 5.1.1 Option vi
        • 5.1.2 Option emacs
      • 5.2 Paramétrer le rappel de commandes en bash
      • 5.3 La complétion de noms de fichiers
        • 5.3.1 La complétion du bash
        • 5.3.2 La complétion du ksh
        • 5.3.3 Tableau récapitulatif
      • 5.4 Autres complétions
    • 6. Les fichiers d'environnement
      • 6.1 Caractéristiques des fichiers d'environnement
        • 6.1.1 Shell de connexion
        • 6.1.2 Fichiers d'environnement lus par le shell de connexion
      • 6.2 Session utilisant un Korn shell
      • 6.3 Session utilisant un Bourne Again shell
      • 6.4 Session utilisant un Bourne shell
    • 7. Exercices
      • 7.1 Variables d'environnement
        • 7.1.1 Exercice 1
        • 7.1.2 Exercice 2
      • 7.2 Alias de commandes
        • 7.2.1 Exercice 1
        • 7.2.2 Exercice 2
  • Les bases de la programmation shell
    • 1. Présentation
    • 2. Les variables utilisateur
      • 2.1 Nommer une variable
      • 2.2 Définir une variable
        • 2.2.1 Affecter une valeur à une variable
        • 2.2.2 Affecter une valeur contenant au moins un espace
        • 2.2.3 Variable indéfinie
        • 2.2.4 Retirer la définition d'une variable
        • 2.2.5 Isoler le nom d'une variable
        • 2.2.6 Variables numériques
        • 2.2.7 Variables complexes
        • 2.2.8 Variables accessibles en lecture seule
      • 2.3 Substitution de variables
    • 3. Substitution de commandes
    • 4. Caractères de protection
      • 4.1 Les apostrophes (simples quotes)
      • 4.2 Le caractère \
      • 4.3 Les guillemets
    • 5. Récapitulatif des caractères spéciaux
    • 6. Interprétation d'une ligne de commande
    • 7. Écriture et lancement d'un script shell
      • 7.1 Définition
      • 7.2 Exécution d'un script par un shell enfant
      • 7.3 Exécution d'un script par le shell courant
      • 7.4 Commentaires
    • 8. Variables réservées du shell
      • 8.1 Les paramètres positionnels
      • 8.2 La commande shift
        • 8.2.1 Syntaxe
        • 8.2.2 Principe
      • 8.3 Code de retour d'une commande
        • 8.3.1 La variable $ ?
        • 8.3.2 La commande exit
      • 8.4 Autres variables spéciales
        • 8.4.1 PID du shell interpréteur
        • 8.4.2 PID du dernier processus lancé en arrière-plan
    • 9. La commande read
      • 9.1 Syntaxe
      • 9.2 Lectures au clavier
      • 9.3 Code de retour
      • 9.4 La variable IFS
    • 10. Exécution de tests
      • 10.1 Introduction
      • 10.2 La commande [[ ]]
        • 10.2.1 Syntaxes
        • 10.2.2 Tests sur les fichiers
        • 10.2.3 Tests sur les chaînes de caractères
        • 10.2.4 Tests numériques
        • 10.2.5 Les opérateurs
        • 10.2.6 Exemple concret d'utilisation
      • 10.3 La commande [ ] (commande test)
        • 10.3.1 Syntaxe
        • 10.3.2 Tests sur les fichiers
        • 10.3.3 Tests sur les chaînes de caractères
        • 10.3.4 Tests sur les nombres
        • 10.3.5 Les opérateurs logiques
        • 10.3.6 Exemple concret d'utilisation
    • 11. Les opérateurs du shell
      • 11.1 Évaluation de l'opérateur &&
      • 11.2 Évaluation de l'opérateur ||
      • 11.3 Inverser le code de retour d’une commande
    • 12. L'arithmétique
      • 12.1 La commande (( ))
        • 12.1.1 Syntaxe
        • 12.1.2 Opérateurs
      • 12.2 La commande let
      • 12.3 La commande expr
        • 12.3.1 Syntaxe
        • 12.3.2 Opérateurs
    • 13. Substitution d'expressions arithmétiques
    • 14. Arithmétique sur les flottants
      • 14.1 ksh93
      • 14.2 Autres shells
    • 15. Mise au point d'un script
      • 15.1 Option -x
      • 15.2 Autres options
    • 16. Les structures de contrôle
      • 16.1 if
      • 16.2 case
        • 16.2.1 Syntaxe
        • 16.2.2 Principe
        • 16.2.3 Utilisation
      • 16.3 Boucle for
        • 16.3.1 Syntaxe classique
        • 16.3.2 Autre syntaxe
      • 16.4 Boucle while
        • 16.4.1 Syntaxe
        • 16.4.2 Utilisation
        • 16.4.3 Boucle infinie
      • 16.5 until
        • 16.5.1 Syntaxe
        • 16.5.2 Utilisation
      • 16.6 break et continue
    • 17. Exercices
      • 17.1 Variables, caractères spéciaux
        • 17.1.1 Exercice 1 : variables
        • 17.1.2 Exercice 2 : variables
        • 17.1.3 Exercice 3 : substitution de commande
        • 17.1.4 Exercice 4 : caractères de protection
      • 17.2 Variables, affichages et lectures clavier
        • 17.2.1 Exercice 1 : variables
        • 17.2.2 Exercice 2 : paramètres positionnels
        • 17.2.3 Exercice 3 : lectures clavier
      • 17.3 Tests et arithmétique
        • 17.3.1 Exercice 1 : tests sur des fichiers
        • 17.3.2 Exercice 2 : tests de chaînes de caractères
        • 17.3.3 Exercice 3 : tests numériques
        • 17.3.4 Exercice 4 : arithmétique
        • 17.3.5 Exercice 5 : opérateurs logiques des commandes [ ] et [[ ]] et opérateurs logiques du shell
      • 17.4 Structures de contrôle if, case, boucle for
        • 17.4.1 Exercice 1 : les commandes [ ] et [[ ]], la structure de contrôle if
        • 17.4.2 Exercice 2 : structures de contrôle case, boucle for
      • 17.5 Boucles
        • 17.5.1 Exercice 1 : boucle for, commande tr
        • 17.5.2 Exercice 2 : boucle for, arithmétique
        • 17.5.3 Exercice 3 : boucles for, while
  • Aspects avancés de la programmation shell
    • 1. Présentation
    • 2. Comparatif des variables $ * et $ @
      • 2.1 Utilisation de $ * et de $ @ sans guillemets
      • 2.2 Utilisation de " $ *" entre guillemets
      • 2.3 Utilisation de " $ @" entre guillemets
    • 3. Manipulation de variables
      • 3.1 Longueur de la valeur contenue dans une variable
      • 3.2 Retirer le plus petit fragment en début de chaîne
      • 3.3 Retirer le plus grand fragment en début de chaîne
      • 3.4 Retirer le plus petit fragment en fin de chaîne
      • 3.5 Retirer le plus grand fragment en fin de chaîne
    • 4. Tableaux indicés numériquement
      • 4.1 Définition et initialisation d’un tableau
      • 4.2 Assigner un élément de tableau
      • 4.3 Valeur d’un élément
      • 4.4 Référencer tous les éléments d'un tableau
      • 4.5 Obtenir le nombre d'éléments d'un tableau
      • 4.6 Obtenir la longueur d'un élément d'un tableau
      • 4.7 Parcourir un tableau indicé numériquement
    • 5. Tableaux associatifs
      • 5.1 Définition et initialisation d’un tableau associatif
      • 5.2 Afficher la valeur associée à une clé
      • 5.3 Afficher la liste des clés
      • 5.4 Afficher la liste des valeurs
      • 5.5 Boucler sur un tableau associatif
    • 6. Initialisation des paramètres positionnels avec set
    • 7. Les fonctions
      • 7.1 Définition d'une fonction
      • 7.2 Code de retour d'une fonction
      • 7.3 Portée des variables
      • 7.4 Définition de variables locales
      • 7.5 Passage d'arguments
      • 7.6 Variable référence
      • 7.7 Exploiter l'affichage d'une fonction
    • 8. Commandes d'affichage
      • 8.1 La commande print
        • 8.1.1 Utilisation simple
        • 8.1.2 Suppression du saut de ligne naturel de print
        • 8.1.3 Afficher des arguments commençant par le caractère "-"
        • 8.1.4 Écrire sur un descripteur particulier
      • 8.2 La commande printf
    • 9. Gestion des entrées/sorties d'un script
      • 9.1 Redirection des entrées/sorties standards
      • 9.2 Gestion de fichiers
        • 9.2.1 Descripteurs de fichiers
        • 9.2.2 Ouverture de fichier
        • 9.2.3 Lecture à partir d'un fichier ouvert
        • 9.2.4 Écriture dans un fichier ouvert
        • 9.2.5 Fermeture d'un fichier
      • 9.3 Traitement d'un fichier
        • 9.3.1 Informations préalables
        • 9.3.2 Les différentes façons d'exploiter un fichier
        • 9.3.3 Découper une ligne en champs
        • 9.3.4 Lire plusieurs lignes avec un appel à read
        • 9.3.5 Modifier le séparateur de ligne
    • 10. La commande eval
    • 11. Gestion des signaux
      • 11.1 Principaux signaux
      • 11.2 Ignorer un signal
      • 11.3 Modifier le traitement associé à un signal
      • 11.4 Repositionner le traitement par défaut du shell vis-à-vis d'un signal
      • 11.5 Utiliser trap à partir d'un script shell
    • 12. Gestion de menus avec select
    • 13. Analyse des options d'un script avec getopts
    • 14. Gestion d'un processus en arrière-plan
    • 15. Compatibilité d’un script entre bash et ksh
      • 15.1 Récupérer le nom du shell interpréteur du script
      • 15.2 Gestion des séquences d’échappement avec echo
      • 15.3 Gestion des caractères étendus
      • 15.4 Script complet
    • 16. Script d'archivage incrémental et transfert SFTP automatique
      • 16.1 Objectif
      • 16.2 Le fichier uploadBackup.sh
      • 16.3 Le fichier fonctions.inc.sh
    • 17. Exercices
      • 17.1 Fonctions
        • 17.1.1 Exercice 1 : fonctions simples
        • 17.1.2 Exercice 2 : fonctions simples, statut de retour
        • 17.1.3 Exercice 3 : passage de paramètres, retour de valeur
        • 17.1.4 Exercice 4 : fichiers
        • 17.1.5 Exercice 5 : fichiers, fonctions, menu select
        • 17.1.6 Exercice 6 : fichiers, tableaux associatifs (bash 4, ksh93)
  • Les expressions régulières
    • 1. Présentation
    • 2. Caractères communs aux ERb et ERe
    • 3. Caractères spécifiques aux ERb
    • 4. Caractères spécifiques aux ERe
    • 5. Exploitation des expressions régulières par les commandes
      • 5.1 La commande vi
      • 5.2 La commande grep
      • 5.3 La commande expr
      • 5.4 sed et awk
    • 6. Exercices
      • 6.1 Expressions régulières
        • 6.1.1 Exercice 1 : expressions régulières avec vi
        • 6.1.2 Exercice 2 : grep
  • La commande sed
    • 1. Présentation
    • 2. Utilisation de la commande sed
    • 3. Exemples
      • 3.1 Utilisation de sed en ligne de commande
        • 3.1.1 La commande d (delete)
        • 3.1.2 La commande p (print)
        • 3.1.3 La commande w (write)
        • 3.1.4 Négation d'une commande (!)
        • 3.1.5 La commande s (substitution)
      • 3.2 Script sed
    • 4. Exercices
      • 4.1 Expressions régulières
        • 4.1.1 Exercice 1 : insertion de balises dans un fichier
        • 4.1.2 Exercice 2 : formatage de fichier
  • Le langage de programmation awk
    • 1. Présentation
      • 1.1 Syntaxe
      • 1.2 Version de gawk
      • 1.3 Variables spéciales
        • 1.3.1 Variables prédéfinies dès le lancement de awk
        • 1.3.2 Variables initialisées lors du traitement d'une ligne
        • 1.3.3 Exemples simples
      • 1.4 Critères de sélection
        • 1.4.1 Expressions régulières
        • 1.4.2 Tests logiques
        • 1.4.3 Intervalles de lignes
      • 1.5 Structure d'un script awk
        • 1.5.1 BEGIN
        • 1.5.2 Sections intermédiaires
        • 1.5.3 END
        • 1.5.4 Commentaires
        • 1.5.5 Variables
        • 1.5.6 Exemple
    • 2. Opérateurs
    • 3. La fonction printf
    • 4. Redirections
    • 5. Lecture de la ligne suivante : next
    • 6. Structures de contrôle
      • 6.1 if
      • 6.2 switch
      • 6.3 for
      • 6.4 while
      • 6.5 do-while
      • 6.6 break
      • 6.7 continue
    • 7. Terminer un script
    • 8. Tableaux
      • 8.1 Tableaux indicés par un nombre
      • 8.2 Tableaux indicés par une chaîne de caractères
      • 8.3 Tester l'existence d'un élément
      • 8.4 Supprimer un élément
      • 8.5 Nombre d'éléments d'un tableau
      • 8.6 Ordre de parcours des éléments
      • 8.7 Trier un tableau
    • 9. Tableaux multidimensionnels
      • 9.1 Simulation de tableaux multidimensionnels
      • 9.2 Vrais tableaux multidimensionnels
      • 9.3 Tester si une variable est un tableau
    • 10. Les arguments de la ligne de commande
    • 11. Fonctions intégrées
      • 11.1 Fonctions travaillant sur les chaînes
      • 11.2 Fonctions mathématiques
      • 11.3 Fonctions liées aux tableaux
      • 11.4 Autres fonctions
        • 11.4.1 La fonction getline
        • 11.4.2 La fonction close
        • 11.4.3 La fonction system
    • 12. Fonctions utilisateur
    • 13. Inclusions de fichiers
    • 14. Exercices
      • 14.1 awk en ligne de commande
        • 14.1.1 Exercice 1 : awk et autres filtres
        • 14.1.2 Exercice 2 : critères de sélection
        • 14.1.3 Exercice 3 : critères de sélection, affichage de champs, sections BEGIN et END
      • 14.2 Scripts awk
        • 14.2.1 Exercice 4 : fonctions
        • 14.2.2 Exercice 5 : analyse d'un fichier de log
        • 14.2.3 Exercice 6 : génération d'un fichier d'étiquettes
  • Les commandes filtres
    • 1. Présentation
    • 2. Syntaxe d'appel des commandes filtres
    • 3. Visualisation de données
      • 3.1 Consultation de données, création de fichiers : cat
      • 3.2 Valeur des octets d'un flux de données : od
      • 3.3 Filtrage de lignes : grep
      • 3.4 Dernières lignes d'un flux de données : tail
      • 3.5 Premières lignes d'un flux de données : head
      • 3.6 Duplication de la sortie standard : tee
      • 3.7 Numérotation de lignes : nl
      • 3.8 Présentation d'un flux de données : pr
    • 4. Traitement de données
      • 4.1 Comptage de lignes, de mots et de caractères : wc
      • 4.2 Extraction de caractères : cut
      • 4.3 Tri de données : sort
      • 4.4 paste
      • 4.5 split
      • 4.6 Transformation de caractères : tr
      • 4.7 Dédoublonnage : uniq
    • 5. Compressions, archivages et conversions
      • 5.1 Compressions : gzip, bzip2
      • 5.2 Archives tar
      • 5.3 Archives cpio
      • 5.4 Copie physique, transformations : dd
      • 5.5 Changement d'encodage : iconv
    • 6. Commandes réseau sécurisées
      • 6.1 Connexion à distance : ssh
      • 6.2 Transfert de fichier : sftp
        • 6.2.1 Commandes de sftp s'exécutant sur la machine locale
        • 6.2.2 Commandes s'exécutant sur la machine distante
        • 6.2.3 Commandes de transfert
        • 6.2.4 Connexion automatique sans mot de passe
    • 7. Autres commandes
      • 7.1 La commande xargs
      • 7.2 Comparer deux fichiers : cmp
      • 7.3 Lignes communes à deux fichiers : comm
  • Comment faire... (synthèse)
    • 1. Présentation
    • 2. Informations
    • 3. Modèles de noms de fichiers
    • 4. Tester le code retour d'une commande
    • 5. Test d'égalité entre deux chaînes
    • 6. Test d'inégalité entre deux chaînes
    • 7. Correspondance d'une variable par rapport à un modèle
    • 8. Non-correspondance d'une variable par rapport à un modèle
    • 9. Retirer le début ou la fin d'une chaîne
    • 10. Calculer la longueur d'une chaîne
    • 11. Récupérer le champ d'une ligne
    • 12. Ne pas afficher certaines lignes d'un flux
    • 13. Tests numériques
    • 14. Calculs
    • 15. Lancer un script d'un autre langage à partir d'un shell
    • 16. Accéder à une base MySQL à partir d'un shell
  • Compléments sur les mécanismes internes du shell
    • 1. Présentation
    • 2. Redirection des descripteurs 1 et 2 vers le même fichier
    • 3. Regroupement de commandes avec les parenthèses
    • 4. Regroupement de commandes avec les accolades
    • 5. Interprétation d’un script par un shell enfant
  • Annexes
    • 1. Caractères spéciaux du shell
    • 2. Commandes internes au shell
    • 3. Classes de caractères POSIX
    • 4. Ordre d'interprétation d'une commande
  • Solutions des exercices
    • 1. Solutions du chapitre Mécanismes essentiels du shell
      • 1.1 Fonctionnalités diverses
        • 1.1.1 Exercice 1 : commandes internes et externes
        • 1.1.2 Exercice 2 : génération de noms de fichiers
        • 1.1.3 Exercice 3 : séparateur de commandes
      • 1.2 Redirections
        • 1.2.1 Exercice 1
        • 1.2.2 Exercice 2
        • 1.2.3 Exercice 3
        • 1.2.4 Exercice 4
        • 1.2.5 Exercice 5
        • 1.2.6 Exercice 6
      • 1.3 Tubes de communication
        • 1.3.1 Exercice 1
        • 1.3.2 Exercice 2
        • 1.3.3 Exercice 3
        • 1.3.4 Exercice 4
    • 2. Solutions du chapitre Paramétrage de l'environnement de travail
      • 2.1 Variables d'environnement
        • 2.1.1 Exercice 1
        • 2.1.2 Exercice 2
      • 2.2 Alias de commandes
        • 2.2.1 Exercice 1
        • 2.2.2 Exercice 2
    • 3. Solutions du chapitre Les bases de la programmation shell
      • 3.1 Variables, caractères spéciaux
        • 3.1.1 Exercice 1 : variables
        • 3.1.2 Exercice 2 : variables
        • 3.1.3 Exercice 3 : substitution de commande
        • 3.1.4 Exercice 4 : caractères de protection
      • 3.2 Variables, affichages et lectures clavier
        • 3.2.1 Exercice 1 : variables
        • 3.2.2 Exercice 2 : paramètres positionnels
        • 3.2.3 Exercice 3 : lectures clavier
      • 3.3 Tests et arithmétique
        • 3.3.1 Exercice 1 : tests sur des fichiers
        • 3.3.2 Exercice 2 : tests de chaînes de caractères
        • 3.3.3 Exercice 3 : tests numériques
        • 3.3.4 Exercice 4 : arithmétique
        • 3.3.5 Exercice 5 : opérateurs logiques des commandes [ ] et [[ ]] et opérateurs logiques du shell
      • 3.4 Structures de contrôle if, case, boucle for
        • 3.4.1 Exercice 1 : les commandes [ ] et [[ ]], la structure de contrôle if
        • 3.4.2 Exercice 2 : structures de contrôle case, boucle for
      • 3.5 Boucles
        • 3.5.1 Exercice 1 : boucle for, commande tr
        • 3.5.2 Exercice 2 : boucle for, arithmétique
        • 3.5.3 Exercice 3 : boucles for, while
    • 4. Solutions du chapitre Aspects avancés de la programmation shell
      • 4.1 Fonctions
        • 4.1.1 Exercice 1 : fonctions simples
        • 4.1.2 Exercice 2 : fonctions simples, statut de retour
        • 4.1.3 Exercice 3 : passage de paramètres, retour de valeur
        • 4.1.4 Exercice 4 : fichiers
        • 4.1.5 Exercice 5 : fichiers, fonctions, menu select
        • 4.1.6 Exercice 6 : fichiers, tableaux associatifs (bash 4, ksh93)
    • 5. Solutions du chapitre Les expressions régulières
      • 5.1 Expressions régulières
        • 5.1.1 Exercice 1 : expressions régulières avec vi
        • 5.1.2 Exercice 2 : grep
    • 6. Solutions du chapitre La commande sed
      • 6.1 Expressions régulières
        • 6.1.1 Exercice 1 : insertion de balises dans un fichier
        • 6.1.2 Exercice 2 : formatage de fichier
    • 7. Solution du chapitre Le langage de programmation awk
      • 7.1 awk en ligne de commande
        • 7.1.1 Exercice 1 : awk et autres filtres
        • 7.1.2 Exercice 2 : critères de sélection
        • 7.1.3 Exercice 3 : critères de sélection, affichage de champs, sections BEGIN et END
      • 7.2 Scripts awk
        • 7.2.1 Exercice 4 : fonctions
        • 7.2.2 Exercice 5 : analyse d'un fichier de log
        • 7.2.3 Exercice 6 : génération d'un fichier d'étiquettes
        • Index

Auteur

Christine DEFFAIX RÉMYEn savoir plus

Ingénieure informatique au sein de la société Ociensa Technologies, spécialiste en développement informatique notamment dans les environnements Unix et Linux, Christine Deffaix Rémy intervient sur des missions de développement et de formation auprès de grands comptes. Sa solide expérience s'allie à ses qualités pédagogiques pour fournir au lecteur un ouvrage réellement efficace sur l'apprentissage de l'écriture de scripts shell.

Caractéristiques

  • Niveau Confirmé à Expert
  • Nombre de pages 540 pages
  • Parution décembre 2022
    • Livre (broché) - 17 x 21 cm
    • ISBN : 978-2-409-03802-0
    • EAN : 9782409038020
    • Ref. ENI : EI7PRO
  • Niveau Confirmé à Expert
  • Parution décembre 2022
    • HTML
    • ISBN : 978-2-409-03803-7
    • EAN : 9782409038037
    • Ref. ENI : LNEI7PRO

Téléchargements

En complétant ce formulaire, vous acceptez d'être contacté afin de recevoir des informations sur nos produits et services ainsi que nos communications marketing. Vous aurez la possibilité de vous désabonner de nos communications à tout moment. Pour plus d'informations sur notre politique de protection des données, cliquez ici.
  • Des fichiers complémentaires (154 Ko)