1. Livres et vidéos
  2. Programmation shell sous Unix/Linux - ksh, bash, Bourne shell (avec exercices corrigés) (6e édition)

Programmation shell sous Unix/Linux ksh, bash, Bourne shell (avec exercices corrigés) (6e édition)

  • 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
  • En stock
  • Expédié en 24h00
  • Livraison à partir de 0,01 €
  • Version en ligne offerte
  • 1 h d'accès gratuit à tous nos livres et vidéos pour chaque commande
  • Accessible immédiatement
  • Version HTML
  • Accès illimité 24h/24, 7J/7

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 ksh 88 et 93, bash, ainsi que de leur prédécesseur le shell Bourne sont détaillées et leurs différences signalées. 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...). Les mécanismes internes sont expliqués en détail et illustrés par de nombreux schémas.

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...).

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.



Quizinclus dans
la version en ligne !
  • Testez vos connaissances à l'issue de chaque chapitre
  • Validez vos acquis

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.2.1 Scripts de démarrage
        • 3.2.2 Autres scripts
      • 3.3 Nom des exécutables sous Unix
    • 4. Shells abordés dans cet ouvrage
  • Mécanismes essentiels du shell
    • 1. Commandes internes et externes
      • 1.1 Les commandes externes
      • 1.2 Les commandes internes
      • 1.3 Implémentation interne et implémentation externe
    • 2. Affichage à l'écran
      • 2.1 La commande echo
        • 2.1.1 Le caractère \n
        • 2.1.2 Le caractère \c
        • 2.1.3 Le caractère \t
        • 2.1.4 Liste des caractères d'échappement
      • 2.2 Les commandes print et printf
    • 3. Le caractère ~ (tilde)
    • 4. La commande interne cd
    • 5. Substitution de noms de fichiers
      • 5.1 Expressions basiques
        • 5.1.1 Le caractère *
        • 5.1.2 Le caractère ?
        • 5.1.3 Les caractères [ ]
      • 5.2 Expressions complexes
        • 5.2.1 ? (expression)
        • 5.2.2 *(expression)
        • 5.2.3 +(expression)
        • 5.2.4 @(expression)
        • 5.2.5 !(expression)
        • 5.2.6 Alternatives
      • 5.3 Interprétation du shell
    • 6. Séparateur de commandes
    • 7. Redirections
      • 7.1 Entrée et sorties standards des processus
        • 7.1.1 Entrée standard
        • 7.1.2 Sortie standard
        • 7.1.3 Sortie d'erreur standard
      • 7.2 Héritage
      • 7.3 Redirection des sorties en écriture
        • 7.3.1 Sortie standard
        • 7.3.2 Sortie d'erreur standard
        • 7.3.3 Sortie standard et sortie d'erreur standard
        • 7.3.4 Se protéger d’un écrasement involontaire de fichier
        • 7.3.5 Éliminer les affichages
        • 7.3.6 Mécanisme interne
      • 7.4 Redirection de l'entrée standard
      • 7.5 Redirections avancées
        • 7.5.1 Rediriger les descripteurs 1 et 2 vers le même fichier
        • 7.5.2 La double redirection en lecture
        • 7.5.3 Fermeture d'un descripteur
    • 8. Tubes de communication
      • 8.1 Commandes ne lisant pas leur entrée standard
      • 8.2 Commandes lisant leur entrée standard
        • 8.2.1 Exemples triviaux
        • 8.2.2 Cas des filtres
      • 8.3 Compléments
        • 8.3.1 Enchaîner des tubes
        • 8.3.2 Dupliquer les sorties
        • 8.3.3 Envoyer la sortie standard et la sortie d'erreur standard dans le tube
    • 9. Regroupement de commandes
      • 9.1 Les parenthèses
      • 9.2 Les accolades
      • 9.3 Conclusion
    • 10. Processus en arrière-plan
    • 11. Exercices
      • 11.1 Fonctionnalités diverses
        • 11.1.1 Exercice 1 : commandes internes et externes
        • 11.1.2 Exercice 2 : génération de noms de fichiers
        • 11.1.3 Exercice 3 : séparateur de commandes
      • 11.2 Redirections
        • 11.2.1 Exercice 1
        • 11.2.2 Exercice 2
        • 11.2.3 Exercice 3
        • 11.2.4 Exercice 4
        • 11.2.5 Exercice 5
        • 11.2.6 Exercice 6
      • 11.3 Tubes de communication
        • 11.3.1 Exercice 1
        • 11.3.2 Exercice 2
        • 11.3.3 Exercice 3
        • 11.3.4 Exercice 4
  • Paramétrage de l'environnement de travail
    • 1. Variables d'environnement
      • 1.1 Liste des variables
      • 1.2 Affichage de la valeur d'une variable
      • 1.3 Modification de la valeur d'une variable
      • 1.4 Principales variables
        • 1.4.1 HOME
        • 1.4.2 PATH
        • 1.4.3 PWD
        • 1.4.4 PS1
        • 1.4.5 PS2
        • 1.4.6 TMOUT
        • 1.4.7 TERM
        • 1.4.8 LOGNAME
        • 1.4.9 Processus et variables d'environnement
      • 1.5 Exportation des variables
        • 1.5.1 Liste des variables exportées
        • 1.5.2 Variables devant être exportées
        • 1.5.3 Exporter une variable
    • 2. Les options du shell
      • 2.1 Activer et désactiver une option du shell
      • 2.2 Visualiser la liste des options
      • 2.3 Principales options
        • 2.3.1 ignoreeof
        • 2.3.2 noclobber
        • 2.3.3 emacs et vi
        • 2.3.4 xtrace
    • 3. Les alias
      • 3.1 Définir un alias
      • 3.2 Visualiser la liste des alias
        • 3.2.1 Visualiser tous les alias
        • 3.2.2 Visualiser un alias en particulier
      • 3.3 Supprimer un alias
    • 4. Historique de commandes
      • 4.1 Paramétrer le rappel de commandes en ksh
        • 4.1.1 Option vi
        • 4.1.2 Option emacs
      • 4.2 Paramétrer le rappel de commandes en bash
      • 4.3 La complétion de noms de fichiers
        • 4.3.1 La complétion du bash
        • 4.3.2 La complétion du ksh
        • 4.3.3 Tableau récapitulatif
      • 4.4 Autres complétions
    • 5. Les fichiers d'environnement
      • 5.1 Caractéristiques des fichiers d'environnement
        • 5.1.1 Shell de connexion
        • 5.1.2 Fichiers d'environnement lus par le shell de connexion
      • 5.2 Session utilisant un Korn Shell
      • 5.3 Session utilisant un Bourne Again Shell
      • 5.4 Session utilisant un Bourne shell
    • 6. Exercices
      • 6.1 Variables d'environnement
        • 6.1.1 Exercice 1
        • 6.1.2 Exercice 2
      • 6.2 Alias de commandes
        • 6.2.1 Exercice 1
        • 6.2.2 Exercice 2
  • Les bases de la programmation shell
    • 1. Les variables utilisateur
      • 1.1 Nommer une variable
      • 1.2 Définir une variable
        • 1.2.1 Affecter une valeur à une variable
        • 1.2.2 Affecter une valeur contenant au moins un espace
        • 1.2.3 Variable indéfinie
        • 1.2.4 Retirer la définition d'une variable
        • 1.2.5 Isoler le nom d'une variable
        • 1.2.6 Variables numériques
        • 1.2.7 Variables complexes
      • 1.3 Substitution de variables
    • 2. Substitution de commandes
    • 3. Caractères de protection
      • 3.1 Les simples quotes
      • 3.2 Le caractère \
      • 3.3 Les guillemets
    • 4. Récapitulatif des caractères spéciaux
    • 5. Interprétation d'une ligne de commande
    • 6. Écriture et lancement d'un script shell
      • 6.1 Définition
      • 6.2 Exécution d'un script par un shell enfant
      • 6.3 Exécution d'un script par le shell courant
      • 6.4 Commentaires
    • 7. Variables réservées du shell
      • 7.1 Les paramètres positionnels
      • 7.2 La commande shift
        • 7.2.1 Syntaxe
        • 7.2.2 Principe
      • 7.3 Code de retour d'une commande
        • 7.3.1 La variable $ ?
        • 7.3.2 La commande exit
      • 7.4 Autres variables spéciales
        • 7.4.1 PID du shell interpréteur
        • 7.4.2 PID du dernier processus lancé en arrière-plan
    • 8. La commande read
      • 8.1 Syntaxe
      • 8.2 Lectures au clavier
      • 8.3 Code de retour
      • 8.4 La variable IFS
    • 9. Exécution de tests
      • 9.1 Introduction
      • 9.2 La commande [[ ]]
        • 9.2.1 Syntaxes
        • 9.2.2 Tests sur les fichiers
        • 9.2.3 Tests sur les chaînes de caractères
        • 9.2.4 Tests numériques
        • 9.2.5 Les opérateurs
        • 9.2.6 Exemple concret d'utilisation
      • 9.3 La commande [ ] (commande test)
        • 9.3.1 Syntaxe
        • 9.3.2 Tests sur les fichiers
        • 9.3.3 Tests sur les chaînes de caractères
        • 9.3.4 Tests sur les nombres
        • 9.3.5 Les opérateurs logiques
        • 9.3.6 Exemple concret d'utilisation
    • 10. Les opérateurs du shell
      • 10.1 Évaluation de l'opérateur &&
      • 10.2 Évaluation de l'opérateur ||
    • 11. L'arithmétique
      • 11.1 La commande (( ))
        • 11.1.1 Syntaxe
        • 11.1.2 Utilisation
      • 11.2 La commande let
      • 11.3 La commande expr
        • 11.3.1 Syntaxe
        • 11.3.2 Opérateurs
      • 11.4 Arithmétique sur les flottants
        • 11.4.1 ksh93
        • 11.4.2 Autres shells
    • 12. Substitution d'expressions arithmétiques
    • 13. Mise au point d'un script
      • 13.1 Option -x
      • 13.2 Autres options
    • 14. Les structures de contrôle
      • 14.1 if
      • 14.2 case
        • 14.2.1 Syntaxe
        • 14.2.2 Principe
        • 14.2.3 Utilisation
      • 14.3 Boucle for
      • 14.4 Boucle while
        • 14.4.1 Syntaxe
        • 14.4.2 Utilisation
        • 14.4.3 Boucle infinie
      • 14.5 until
        • 14.5.1 Syntaxe
        • 14.5.2 Utilisation
      • 14.6 break et continue
    • 15. Exercices
      • 15.1 Variables, caractères spéciaux
        • 15.1.1 Exercice 1 : variables
        • 15.1.2 Exercice 2 : variables
        • 15.1.3 Exercice 3 : substitution de commande
        • 15.1.4 Exercice 4 : caractères de protection
      • 15.2 Variables, affichages et lectures clavier
        • 15.2.1 Exercice 1 : variables
        • 15.2.2 Exercice 2 : paramètres positionnels
        • 15.2.3 Exercice 3 : lectures clavier
      • 15.3 Tests et arithmétique
        • 15.3.1 Exercice 1 : tests sur des fichiers
        • 15.3.2 Exercice 2 : tests de chaînes de caractères
        • 15.3.3 Exercice 3 : tests numériques
        • 15.3.4 Exercice 4 : arithmétique
        • 15.3.5 Exercice 5 : opérateurs logiques des commandes [ ] et [[ ]] et opérateurs logiques du shell
      • 15.4 Structures de contrôle if, case, boucle for
        • 15.4.1 Exercice 1 : les commandes [ ] et [[ ]], la structure de contrôle if
        • 15.4.2 Exercice 2 : structures de contrôle case, boucle for
      • 15.5 Boucles
        • 15.5.1 Exercice 1 : boucle for, commande tr
        • 15.5.2 Exercice 2 : boucle for, arithmétique
        • 15.5.3 Exercice 3 : boucles for, while
  • Aspects avancés de la programmation shell
    • 1. Comparatif des variables $* et $@
      • 1.1 Utilisation de $* et de $@
      • 1.2 Utilisation de "$*"
      • 1.3 Utilisation de "$@"
    • 2. Substitution de variables
      • 2.1 Longueur de la valeur contenue dans une variable
      • 2.2 Manipulation de chaînes de caractères
        • 2.2.1 Retirer le plus petit fragment à gauche
        • 2.2.2 Retirer le plus grand fragment à gauche
        • 2.2.3 Retirer le plus petit fragment à droite
        • 2.2.4 Retirer le plus grand fragment à droite
    • 3. Tableaux
      • 3.1 Assigner un élément
      • 3.2 Référencer un élément
      • 3.3 Assignation globale d'un tableau
      • 3.4 Référencer tous les éléments d'un tableau
      • 3.5 Obtenir le nombre d'éléments d'un tableau
      • 3.6 Obtenir la longueur d'un élément d'un tableau
      • 3.7 Tableaux associatifs
    • 4. Initialisation des paramètres positionnels avec set
    • 5. Les fonctions
      • 5.1 Définition d'une fonction
      • 5.2 Code de retour d'une fonction
      • 5.3 Portée des variables
      • 5.4 Définition de variables locales
      • 5.5 Passage d'arguments
      • 5.6 Exploiter l'affichage d'une fonction
      • 5.7 Programme complet de l'exemple
    • 6. Commandes d'affichage
      • 6.1 La commande print
        • 6.1.1 Utilisation simple
        • 6.1.2 Suppression du saut de ligne naturel de print
        • 6.1.3 Afficher des arguments commençant par le caractère "-"
        • 6.1.4 Écrire sur un descripteur particulier
      • 6.2 La commande printf
    • 7. Gestion des entrées/sorties d'un script
      • 7.1 Redirection des entrées/sorties standards
      • 7.2 Gestion de fichiers
        • 7.2.1 Ouverture de fichier
        • 7.2.2 Lecture à partir d'un fichier
        • 7.2.3 Écriture dans un fichier
        • 7.2.4 Fermeture d'un fichier
      • 7.3 Traitement d'un fichier
        • 7.3.1 Informations préalables
        • 7.3.2 Les différentes façons d'exploiter un fichier
        • 7.3.3 Découper une ligne en champs
        • 7.3.4 Modifier le séparateur de ligne
    • 8. La commande eval
    • 9. Gestion des signaux
      • 9.1 Principaux signaux
      • 9.2 Ignorer un signal
      • 9.3 Modifier le traitement associé à un signal
      • 9.4 Repositionner le traitement par défaut du shell vis-à-vis d'un signal
      • 9.5 Utiliser trap à partir d'un script shell
    • 10. Gestion de menus avec select
    • 11. Analyse des options d'un script avec getopts
    • 12. Gestion d'un processus en arrière-plan
    • 13. Script d'archivage incrémental et transfert SFTP automatique
      • 13.1 Objectif
      • 13.2 Le fichier uploadBackup.sh
      • 13.3 Le fichier fonctions.inc.sh
    • 14. Exercices
      • 14.1 Fonctions
        • 14.1.1 Exercice 1 : fonctions simples
        • 14.1.2 Exercice 2 : fonctions simples, statut de retour
        • 14.1.3 Exercice 3 : passage de paramètres, retour de valeur
        • 14.1.4 Exercice 4 : fichiers
        • 14.1.5 Exercice 5 : fichiers, fonctions, menu select
        • 14.1.6 Exercice 6 : fichiers, tableaux associatifs (bash 4, ksh93)
  • Les expressions régulières
    • 1. Introduction
    • 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. Utilisation de la commande sed
    • 2. Exemples
      • 2.1 Utilisation de sed en ligne de commande
        • 2.1.1 La commande d (delete)
        • 2.1.2 La commande p (print)
        • 2.1.3 La commande w (write)
        • 2.1.4 Négation d'une commande (!)
        • 2.1.5 La commande s (substitution)
      • 2.2 Script sed
    • 3. Exercices
      • 3.1 Expressions régulières
        • 3.1.1 Exercice 1 : insertion de balises dans un fichier
        • 3.1.2 Exercice 2 : formatage de fichier
  • Le langage de programmation awk
    • 1. Principe
      • 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. Introduction
    • 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. Introduction
    • 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
  • 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
  • Annexes
    • 1. Caractères spéciaux du shell
    • 2. Commandes internes au shell
    • 3. Ordre d'interprétation d'une commande
    • Index

Auteur

Christine DEFFAIX RÉMYEn savoir plus

Ingénieur 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 512 pages
  • Parution septembre 2019
    • Livre (broché) - 17 x 21 cm
    • ISBN : 978-2-409-02072-8
    • EAN : 9782409020728
    • Ref. ENI : EI6PRO
  • Niveau Confirmé à Expert
  • Parution septembre 2019
    • HTML
    • ISBN : 978-2-409-02075-9
    • EAN : 9782409020759
    • Ref. ENI : LNEI6PRO

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 (165 Ko)