guide avancé d'écriture des scripts bash

Download Guide avancé d'écriture des scripts Bash

Post on 09-Jul-2015

137 views

Category:

Documents

1 download

Embed Size (px)

TRANSCRIPT

  • 5/10/2018 Guide avanc d' criture des scripts Bash

    1/14

    Guide avance d'ecriture des scripts Bash http://abs.traduc.orglabs-5.3-fr/index.html

    Guide avance d'ecrlture des scripts BashUne exploration en profondeur de l'art de la programmation

    shellMendel Cooper

    5.311 mai 2008IHistorique des versions 1IVersion 5.1 1110novembre 2007 I~IVersion 'LiNGONBERRY' : Mise a jour mineure. 1IVersion 5.2 1116mars 2008 I~IVersion 'SILVERBERRY' : Mise a jour importante.1IVersion 5.2.fr.1.0 1110mai 2007 I~IMise a jour de la traduction francaise, 1

    ResumeCe tutoriel ne suppose aucune connaissance de la programmation de scripts, maispermet une progression rapide vers un niveau tntermediaire/avance d'instructions tout ense plongeant dans de petites astuces du royaume d'UNIX. II est utile comme livre,comme manuel permettant d'etudler seul, et comme reference et source deconnaissance sur les techniques de programmation de scripts. Les exercices et lesexemples grandement cornmentes invitent a une participation active du lecteur avec entete I'idee que la seule faQonpour vraiment apprendre la progranunation de scriptsest d'ecrire des scripts.

    Ce livre est adapte a une utilisation en classe en tant qu'introduction generale auxconcepts de la programmation.La derniere mise a jour de ce document, comme une archive tar compresses avecbzip2 incluant a la fois Ie source SGML et Ie HTML genere, peut etre telecharqee a partirdu site personnel de I'auteur. Une version PDF est aussi disponible (site miroir du PDEJ.Voir Ie journal des modifications pour un historique des revisions.

    Pour Anita, la source de toute magieTable des matleres

    1 sur 14 20106/2011 17:38

    http://abs.traduc.orglabs-5.3-fr/index.htmlhttp://abs.traduc.orglabs-5.3-fr/index.html
  • 5/10/2018 Guide avanc d' criture des scripts Bash

    2/14

    Guide avance d'ecriture des scripts Bash http://abs.traduc.orglabs-5.3-fr/index.html

    Part 1. Introduction 1. Pourquoi la programmation Shell ? 2. Lancement avec un #!

    2.1. Appeler Ie script 2.2. Exercices preliminaires

    Part 2. Bases 3. Caracteres speciaux 4. Introduction aux variables et aux parametres

    4.1. Substitution de variable 4.2. Affectation de variable 4.3. Les variables Bash ne sont pas tvpees 4.4. Types speciaux de variables

    5. Guillemets et apostrophes 5.1. Placer les variables entre guillemets 5.2. Echappement

    6. Sortie et code de sortie (ou d'etat) 7. Tests

    7.1. Constructions de tests 7.2. Operateurs de test de fichiers 7.3. Autres operateurs de comparaison 7.4. Tests if/then imbriques 7.5. Tester votre connaissance des tests

    8. Operations et sujets en relation 8.1. Operateurs 8.2. Constantes numeriques

    Part 3. Apres I'approche basique 9. Les variables revisitees

    9.1. Variables internes 9.2. Manipuler les chaines de caracteres 9.3. Substitution de parametres 9.4. Typer des variables: declare OUtypeset 9.5. References indirectes 9.6. $RANDOM : generer un nombre aleatoire 9.7. La construction en double parenthese

    10. Boucles et branchements 10.1. Boucles 10.2. Boucles imbriquees 10.3. Contrale de boucles 10.4. Tests et branchements

    2 sur 14 20106/2011 17:38

    http://abs.traduc.orglabs-5.3-fr/index.htmlhttp://abs.traduc.orglabs-5.3-fr/index.html
  • 5/10/2018 Guide avanc d' criture des scripts Bash

    3/14

    Guide avance d'ecriture des scripts Bash http://abs.traduc.orglabs-5.3-fr/index.html

    11. Substitution de commandes 12. Expansion arithmetigue 13. Recreation

    Part 4. Commandes 14. Commandes internes et integrees

    14.1. Commandes de contrale des jobs 15. Filtres externes. programmes et commandes

    15.1. Commandes de base 15.2. Commandes complexes 15.3. Commandes de date et d'heure 15.4. Commandes d'analyse de texte 15.5. Commandes pour les fichiers et I'archivage 15.6. Commandes de communications 15.7. Commandes de contrale du terminal 15.8. Commandes mathematigues 15.9. Commandes diverses

    16. Commandes systeme et d'administration 16.1. Analyser un script systeme

    Part 5. Themes avances 17. Expressions rationnelles

    17.1. Une breve introduction aux expressions rationnelles 17.2. Remplacement 18. Documents en ligne

    18.1. Chaines en ligne 19. Redirection d'E/S (entrees/sorties)

    19.1. Utiliser exec 19.2. Rediriger les blocs de code 19.3. Applications

    20. Sous-shells 21. Shells restreints 22. Substitution de processus 23. Fonctions

    23.1. Fonctions complexes et complexite des fonctions 23.2. Variables locales 23.3. Recursion sans variables locales

    24. Alias 25. Constructeurs de listes 26. Tableaux

    3 sur 14 2 0 10 6 /2 0 11 1 7:3 8

    http://abs.traduc.orglabs-5.3-fr/index.htmlhttp://abs.traduc.orglabs-5.3-fr/index.html
  • 5/10/2018 Guide avanc d' criture des scripts Bash

    4/14

    Guide avance d'ecriture des scripts Bash http://abs.traduc.orglabs-5.3-fr/index.html

    27. / dev et /proe 27.1. /dev 27.2. /proe

    28. Des Zeros et des Nulls 29. Debogage 30. Options 31. Trucs et astuces 32. Ecrire des scripts avec style

    32.1. Feuille de style non officielle d'ecriture de scripts 33. Divers

    33.1. Shells et scripts interactifs et non interactifs 33.2. Precedence des operateurs 33.3. Scripts d'appel 33.4. Tests et comparaisons: alternatives 33.5. Un script s'appelant lui-meme (recursion) 33.6. Coloriser des scripts 33.7. Optimisations 33.8. Astuces assorties 33.9. Problemes de securite 33.10. Problemes de portabilite 33.11. Scripts so us Windows

    34. Bash. version 2 et 3 34.1. Bash. version 2 34.2. Bash, version 3

    35. Notes finales 35.1. Note de I'auteur 35.2. A propos de I'auteur 35.3. OUtrouver de I'aide 35.4. Outils utilises pour produire ce livre 35.5. Remerciements 35.6. Avis de non-responsabilite

    Bibliographie A. Contribution de scripts B. Cartes de reference C. Petit guide sur Sed et Awk

    C.1. Sed C.2. Awk

    D. Codes de sortie ayant une signification particuliere E. Une introduction detaillee sur les redirections d'entrees/sorties

    4 sur 14 20106/2011 17:38

    http://abs.traduc.orglabs-5.3-fr/index.htmlhttp://abs.traduc.orglabs-5.3-fr/index.html
  • 5/10/2018 Guide avanc d' criture des scripts Bash

    5/14

    Guide avance d'ecriture des scripts Bash http://abs.traduc.orglabs-5.3-fr/index.html

    F.Options en ligne de commande F.1.Options standards en ligne de commande F.2.Options en ligne de commande de Bash

    G. Fichiers importants H. Repertoires systeme importants I. Localisation J. Commandes d'historique K. Un exemple de fichier .bashrc L. Convertir des fichiers batch DOS en scripts shell M. Exercices

    M.1. Analyse de scripts M.2. Ecriture de scripts

    N. Historique des revisions O. Sites miroirs P. Liste de choses a faire Q. Droits d'utilisation R. Copyright S. Table ASCII T. Index

    Liste des tableaux 14.1. Identifiants de jobs 30.1. Options de bash 33.1. Precedence des operateurs 33.2. Nombres representant les couleurs des sequences d'echappement B.1. Variables speciales du shell B.2. Operateurs de test: comparaison binaire B.3. Operateurs de test: fichiers B.4. Substitution et expansion de parametres B.S. Operations sur les chaines B.6. Constructions diverses C.1. Operateurs sed basiques C.2. Exemples d'operateurs sed D.1. Codes de sortie reserves L.1. Mots cles I variables I operateurs des fichiers batch. et leur equivalent shell L.2. Commandes DOS et leur equivalent UNIX N.1. Historique des revisionsListe des exemples 2.1. cleanup: Un script pour nettoyer les journaux de trace dans Ivar/log 2.2. cleanup: Un script de nettoyage ameliore

    5 sur 14 20106/2011 17:38

    http://abs.traduc.orglabs-5.3-fr/index.htmlhttp://abs.traduc.orglabs-5.3-fr/index.html
  • 5/10/2018 Guide avanc d' criture des scripts Bash

    6/14

    Guide avance d'ecriture des scripts Bash http://abs.traduc.orglabs-5.3-fr/index.html

    2.3. cleanup: Une version amelioree et generalisee des scripts precedents 3.1. Blocs de code et redirection d'entrees/sorties 3.2. Sauver la sortie d'un bloc de code dans un fichier 3.3. Executer une boucle en tache de fond 3.4. Sauvegarde de tous les fichiers modifies dans les dernieres 24 heures 4.1. Affectation de variable et substitution 4.2. Affectation basique de variable 4.3. Affectation de variable, basique et elaboree 4.4. Entier ou chaine? 4.5. Parametres position nels 4.6. wh, recherche d'un nom de domaine avec whois 4.7. Utiliser shift 5.1. Afficher des variables bizarres 5.2. Caracteres d'echappement 6.1. exit I code de sortie 6.2. Inverser une condition en utilisant I 7.1. OU est Ie vrai? 7.2. Equivalences de test, /usr/bin/test, [],et /usr/bin/ [ 7.3. Tests arithmetiques en utilisant (( )) 7.4. Test de liens casses 7.5. Comparaisons de nombres et de chaines de caracteres 7.6. Verification si une chaine est nulle 7.7. zmore 8.1. Plus grand diviseur commun 8.2. Utiliser des operations arithmetiques 8.3. Tests de conditions composees en utilisant && et II 8.4. Representation des constantes numeriques 9.1. $IFS et espaces blancs 9.2. Saisie avec delai 9.3. Encore une fois, saisie avec delai 9.4. read avec delai 9.5. Suis-je root? 9.6. arglist :Affichage des arguments avec $* et $@ 9.7. Comportement de $* et $@ncoherent 9.8. $* et $@orsque $IFSest vide 9.9. Variable tiret bas 9.10. Inserer une ligne blanche entre les paragraphes d'un fichier texte 9.11. Generer aleatoirement une chaine de huit caracteres 9.12. Convertir des formats de fichiers graphiques avec une modification du nomdu fichier 9.13. Convertir des fichiers audio en ogg 9.14. Emuler getopt

    6 sur 14 20106/2011 17:38

    http://abs.traduc.orglabs-5.3-fr/index.htmlhttp://abs.traduc.orglabs-5.3-fr/index.html
  • 5/10/2018 Guide avanc d' criture des scripts Bash

    7/14

    Guide avance d'ecriture des scripts Bash http://abs.trad