Scripts shell Linux et Unix

Scripts shell Linux et UnixCe livre, paru fin septembre 2012, est une nouvelle édition de « Shells Linux et Unix par la pratique » avec un titre légèrement modifié pour faire mieux apparaître la notion de scripts qui est prédominante dans le texte.

Nouveautés

Le texte a été légèrement retouché pour actualiser les informations concernant les shells (notamment dash, le Debian Almquist Shell que l’on rencontre sur les distributions Debian, Ubuntu, etc.)

Un chapitre supplémentaire a été ajouté contenant quinze scripts entiers que j’utilise quotidiennement ou occasionnellement, mais qui m’ont tous été utiles un jour.

Enfin, un QCM de vérification de ses connaissances (avec corrections bien sûr) est disponible en fin d’ouvrage.

Commander le livre sur Amazon

Scripts Shell Linux et Unix (sur Amazon)

Commander le livre en PDF sur iziBook

La version PDF est désormais disponible.

Scripts shell Linux et Unix De Christophe Blaess - Eyrolles
Scripts shell Linux et Unix

Suppléments

Les exercices et exemples se trouvent ici :

Sommaire

  • Avant-propos
  • Chapitre 1 – Principes des scripts Shell
    • Le shell Unix
      • Pourquoi écrire un script shell ?
      • Outils nécessaires
    • Exécution d’un script
      • Invocation de l’interpréteur
      • Appel direct
      • Ligne shebang
    • Conclusion
    • Exercices
  • Chapitre 2 – Programmation Shell
    • Premier aperçu
    • Premier script, rm_secure
    • Analyse détaillée
    • Performances
    • Exemple d’exécution
    • Conclusion
    • Exercices
  • Chapitre 3 – Évaluation d’expressions
    • Variables
      • Précisions sur l’opérateur $
    • Calcul arithmétique
    • Invocation de commande
    • Portées et attributs des variables
    • Paramètres
      • Paramètres positionnels
      • Paramètres spéciaux
    • Protection des expressions
      • Protection par le caractère backslash
      • Protection par apostrophes
      • Protection par guillemets
    • Tableaux
    • Évaluation explicite d’une expression
    • Conclusion
    • Exercices
  • Chapitre 4 – Éléments de programmation shell
    • Commandes et code de retour
      • Commande simple
      • Pipelines
      • Listes de pipelines
      • Commandes composées
    • Redirections d’entrées-sorties
      • Entrées-sorties standards
      • Redirection des entrées-sorties standards
      • Redirections avancées
    • Structures de contrôle
      • Sélection d’instructions
      • Itérations d’instructions
      • Fonctions
    • Conclusion
    • Exercices
  • Chapitre 5 – Commandes, variables et utilitaires système
    • Commandes internes
      • Comportement du shell
      • Exécution des scripts et commandes
      • Interactions avec le système
      • Arguments en ligne de commande
      • Variables internes
    • Commandes externes
    • Conclusion
    • Exercices
  • Chapitre 6 – Programmation shell avancée
    • Processus fils, parallélisme
    • Arrière-plan et démons
    • Signaux
      • Envoi d’un signal
      • Réception d’un signal
      • Attente de signaux
    • Communication entre processus
    • Entrées-sorties
      • tee
      • xargs
    • Interface utilisateur
      • stty
      • tput
      • dialog
    • Déboguer un script
    • Virgule flottante
    • Conclusion
  • Chapitre 7 – Expressions régulières – Grep
    • Introduction
    • Expressions régulières simples
    • Expressions rationnelles étendues
    • Outil grep
    • Recherche récursive avec find
    • Conclusion
    • Exercices
  • Chapitre 8 – Sed
    • Présentation
    • Utilisation de Sed
      • Principe
      • Fonctionnement de Sed
      • Commandes Sed
    • Conclusion
    • Exercices
  • Chapitre 9 – Awk
    • Fonctionnement de Awk
      • Les motifs
      • Les actions
      • Les variables
    • Enregistrements et champs
      • Les enregistrements
      • Les champs
    • Structures de contrôle
    • Expressions
    • Retour sur les affichages
    • Conclusion
    • Exercices
  • Chapitre 10 – Bonne écriture d’un script
    • Présentation générale
    • Les variables
    • Gestion des erreurs
    • Les fonctions
    • Conclusion
    • Exercices
  • Annexe A – Scripts complet
    • Administration système
      • Générateur de mots de passe
      • Exécution d’un ping vers un ensemble de serveurs
      • Supervision distante d’un petit parc de machines
      • Image de l’activité système
      • Synchronisation de répertoires distants
    • Fichiers et bases de données
      • Sauvegarde quotidienne
      • Renommage d’un ensemble de fichiers
      • Scan et archivage de documents
      • Création d’une base de données
      • Consultation d’une base de données
    • Scripts divers
      • Calcul de prix et de TVA
      • Générateur aléatoire suivant une loi normale
      • Calcul et affichage d’histogramme
      • Préparation d’un script d’installation
      • Présentation d’un fichier script
  • Annexe B – Q.C.M. d’évaluation
    • Énoncés
    • Solutions
  • Annexe C – Solutions des exercices
    • Chapitre 1
    • Chapitre 2
    • Chapitre 3
    • Chapitre 4
    • Chapitre 5
    • Chapitre 7
    • Chapitre 8
  • Annexe D – Bibliographie
    • Livres et articles
    • Sites de références
  • Index

8 Réponses

  1. Magus62 dit :

    Il semble que la cible de l’archive Zip renvoie sur cette page. Serait-il possible de récupérer cette archive ?

  2. Perrin dit :

    Bonjour,

    Dans votre livre, souvent vous renvoyé à des explication de fonction qui seront étudiée plus loin dans l’ouvrage.

    exemple: Chap 2, page 18 4§: Fonction « getopts » : Nous détaillerons ………

    Pourriez-vous me dire comment on retrouve le détail de ces différents renvois.

    D’avance merci de votre réponse.

    Librement votre.

    Jean-Luc

    • cpb dit :

      Bonjour,

      En principe la plupart des commandes et fonctions sont indiquées dans l’index à la fin du livre.
      Pour getopts, page 294, on trouve les renvois vers les pages 18, 142, 145, 236. La page qui vous intéresse est la 142 je pense.

      Bonne lecture.

  3. RenaudD dit :

    Bonjour Christophe,

    Je connaissais déjà Bash et ksh, j’ai cependant acheté votre livre « Scripts shell Linux et Unix » par curiosité et je ne le regrette pas, car j’y découvre ou redécouvre beaucoup de choses et de « trucs » intéressants.
    Petit détail : Je pense qu’il y a une petite erreur dans le tableau de la p.56 comparant les options de « export » et de « declare ». Il y est dit que  » ‘declare’ affiche les éléments exportés » : non, c’est « declare -x » qui fait cela. Le comportement de ‘declare’ tout court n’est pas très bien documenté mais , d’après mes tests en bash 4.2 tous cas, cela affiche toutes les variables, exportées ou non.

    • RenaudD dit :

      Par rapport à ma remarque précédente, pour être plus précis : « declare -x » affiche les *variables* exportées et non pas tous les éléments (=> les fonctions exportées ne sont pas affichées). Même remarque pour « export -p », mentionné à la même ligne du tableau.

  4. salt dit :

    Bonjour Monsieur,

    Nous sommes en 2022, j’utilise un debian et zsh, or rien ne se passe en utilisant l’interpréteur bash et zsh et quand j’utilise sh

    ./rm_secure.sh: 4: function: not found
    ./rm_secure.sh: 6: local: not in a function

    je parle du programme rm_secure trouvé sur votre site, je raté quelques chose je suis néophyte desolé ?

    • cpb dit :

      Bonjour,

      Je pense qu’il faut remplacer la ligne 3 :

      function rm

      par

      rm()

      C’est cette dernière syntaxe qui est la mieux acceptée par les shells actuels.