Table des matières
La raison première de ce document est que beaucoup de gens trouvent le HOWTO trop court et incomplet, et le guide Bash Scripting trop poussé. Il n'y a rien entre ces deux extrêmes. J'ai aussi écrit ce guide selon le principe général que les guides de base devraient être gratuits, alors que peu le sont.
C'est un guide pratique qui, sans être toujours sérieux, essaye de donner des exemples d'usage plutôt que théoriques. Je l'ai en partie écrit parce que je ne suis pas emballé par les exemples dépouillés, hyper simplifiés écrits par des gens qui, sachant de quoi ils parlent, montrent de super possibilités du Bash, tellement hors contexte que vous ne pouvez vous imaginez leur applications pratiques. Vous pouvez lire ce genre de documents après ce guide, lequel contient exercices et exemples qui aideront à survivre dans la vraie vie.
De par mon expérience en tant qu'utilisateur, administrateur et formateur sur système UNIX/Linux, je sais que des gens peuvent avoir des années d'interactions quotidiennes avec leur système sans avoir la moindre notion de l'automatisation de tâches. De sorte qu'ils pensent souvent que UNIX n'est pas convivial, et pire, ils ont l'impression que c'est lent et obsolète. Cette difficulté est de celles que peut palier ce guide.
Quiconque qui, travaillant sur un système de type UNIX, veut se simplifier la vie. Utilisateurs avancés ou administrateurs peuvent tirer bénéfice de la lecture de ce guide. Les lecteurs qui ont déjà pris en main le système via la ligne de commande apprendront les ficelles de l'écriture de 'shell' qui facilitent l'exécution des tâches quotidiennes. L'administration de système repose grandement sur l'écriture de scripts 'shell'. Les tâches courantes sont automatisées avec de simples scripts. Ce document est plein d'exemples qui vous encouragera à écrire les vôtres et qui vous incitera à améliorer ceux existants.
Prérequis / Ce qui n'est pas dans ce guide. Vous devriez:
être familiarisé avec UNIX ou Linux: les commandes de bases, les pages 'man' et de documentation
être capable d'utiliser un éditeur de texte
comprendre les processus d'initialisation et d'arrêt du système: init et initscripts
savoir créer des utilisateurs et des groupes, déclarer des mots de passe
savoir donner des droits et des modes d'accès
comprendre les conventions de nommage des périphériques, le partitionnement, le montage/démontage des systèmes de fichiers
savoir ajouter/retirer des logiciels du système
Voir Introduction to Linux (ou votre miroir TLDP TLDP mirror) si vous ignorez l'un de ces aspects. Des informations complémentaires peuvent être trouvées dans la documentation de votre système (man; info pages), ou là: the Linux Documentation Project.
La dernière édition se trouve à http://tille.xalasys.com/training/bash/. Vous devriez aussi la trouver à http://tldp.org/LDP/Bash-Beginners-Guide/html/index.html.
Ce guide est disponible imprimé chez Fultus.com.
| Historique des versions | ||
|---|---|---|
| Version 1.7 | 2005-09-05 | MG |
| Corrected typos in chapter 3, 6 and 7, incorporated user remarks, added a note in chap7. | ||
| Version 1.6 | 2005-03-01 | MG |
| Minor debugging, added more keywords, info about new Bash 3.0, took out blank image. | ||
| Version 1.5 | 2004-12-06 | MG |
| Changes because of new domain, minor corrections. | ||
| Version 1.4 | 2004-10-18 | MG |
| Debugging, added a couple of notes in chap9, replaced screenshots with screen sections. Corrected some typos. | ||
| Version 1.3 | 2004-07-09 | MG |
| Added tracer image 1x1 pixel http://tille.xalasys.com/images/blank-bash.png, added textobjects for all pictures, fixed wrong links in index, made signal list more clear. | ||
| Version 1.2 | 2004-06-15 | MG |
| Added index, more markup in screen sections. | ||
| Version 1.1 | 2004-05-22 | MG |
| Last read-through before going to press, added more examples, checked summaries, exercises, cleaned up introduction. | ||
| Version 1.0 | 2004-04-27 | TM |
| Initial release for LDP; more exercises, more markup, less errors and abuse; added glossary. | ||
| Version 1.0-beta | 2003-04-20 | MG |
| Pre-release | ||
Merci à tous les amis qui ont aidé (ou essayé) et à mon mari; vos paroles d'encouragement ont rendu ce travail possible. Merci à tous les gens qui ont soumis anomalies, exemples et remarques - parmi plein, plein d'autres:
Hans Bol, l'une des groupies
Mike Sim, remarques sur le style
Dan Richter, pour les exemples de tableaux
Gerg Ferguson, pour les idées sur le titre
Mendel Leo Cooper, pour avoir mis à disposition de l'espace
#linux.be, pour m'avoir aider à garder les pieds sur terre
Frank Wang, pour ses remarques détaillées sur toutes mes erreurs ;-)
Remerciements special à Tabatha Marshall qui a bénévolement revu, et l'expression, et la grammaire. On forme une bonne équipe: elle travaille quand je dors. Et vice versa ;-)
Informations manquantes, liens invalides, erreurs de frappe, remarques? Envoyer un mail à
La personne assurant le suivi du document.
Copyright © 2003-2005 Machtelt Garrels.
Permission est donnée pour copier, distribuer et/ou modifier ce document selon les termes de la Licence GNU Free Documentation, Version 1.1 ou ultérieure publiée par la Free Software Foundation, avec les Sections Invariantes: "New versions of this document", "Contributions", "Feedback" et "Copyright information", sans textes de couverture de garde ni de textes de couverture de dos. Une copie de la licence est incluse dans Annexe B, GNU Free Documentation License intitulée "GNU Free Documentation License".
L'auteur et l'éditeur ont fait leur possible pour s'assurer de la validité des informations de ce livre. Cependant, le contenu de ce guide est mis à disposition sans garantie, que ce soit explicite ou implicite. Ni l'auteur, ni l'éditeur, ni un distributeur ne peuvent être tenu responsable des éventuels dommages ou conséquences résultant de l'application du contenu de ce guide.
Les logos, marques déposées et les symboles utilisés dans ce guide sont la propriété de leur dépositaire respectif.
Bash, téléchargeable à http://www.gnu.org/directory/GNU/. Le Bash accompagne à peu près tous les systèmes Linux, et se trouve maintenant sur un large éventail de systèmes UNIX.
Se compile aisément si vous avez besoin de le personnaliser, testé sur un large éventail d'UNIX, Linux, MS Windows, et autres systèmes.
Les conventions typographiques et d'usage suivantes apparaissent dans le texte:
Tableau 1. Conventions typographiques et d'usage
| Type de texte | sens |
|---|---|
| « Texte entre guillemets » | Citation de gens, texte rendu par l'ordinateur entre guillemets |
reproduction de la vue du terminal | Capture des données saisies ou affichées sur le terminal, généralement rendue avec un fond gris clair. |
| commande | Nom d'une commande qui peut être tapée sur la ligne de commande. |
VARIABLE | Nom d'une variable ou pointeur vers le contenu d'une variable, comme
$VARNAME. |
option | Option d'une commande, comme « le -a option de la commande
ls ». |
argument | Argument d'une commande, comme dans « read
man ls ». |
| Synopsis de commande ou emploi habituel, sur une ligne séparée. |
NomDeFichier | Nom d'un fichier ou d'un répertoire, par exemple « se positionner dans le répertoire
/usr/bin . » |
| Touche | Touches à frapper sur le clavier, exemple « taper Q pour quitter ». |
| Bouton graphique sur lequel cliquer comme le bouton . | |
| → | Options à choisir dans un menu graphique, par exemple: « Choisir → dans votre navigateur. » |
| Terminologie | Terme important ou concept: « Le noyau est le coeur du système. » |
\ | La barre oblique inversée affichée dans un terminal ou dans un synopsis de commande indique que la ligne n'est pas finie. (NdT: nous appelerons ce symbole l'échappement). En d'autres mots, si vous voyez une longue commande qui est découpée en plusieurs lignes, \ signifie « Ne pressez pas la touche Entrée encore! » |
| Voir Chapitre 1, Bash et scripts Bash | Lien vers sujets connexes dans ce guide. |
| L'auteur | Lien vers une ressource WEB externe. |
Ce guide expose des concepts utiles dans la vie de tous les jours de l'utilisateur Bash assidu. Bien qu'une connaissance basique du shell soit requise, nous commençons par aborder les composants et pratiques de base dans les 3 premiers chapitres.
Les chapitres 4 à 6 abordent les outils de bases qui sont utilisés régulièrement dans les scripts.
Les chapitres 8 à 12 abordent les constructions les plus courantes dans les scripts.
Tous les chapitres sont accompagnés d'exercices qui testent votre aptitude à aborder le chapitre suivant.
Chapitre 1, Bash et scripts Bash: Les bases de Bash: pourquoi Bash est si bon, construction de blocs, premières consignes d'écriture de bons scripts.
Chapitre 2, Ecrire et corriger des scripts: Les bases du script: écrire et débugger.
Chapitre 3, L'environnement du Bash: L'environnement Bash: les fichiers d'initialisation, les variables, les expressions littérales, l'ordre d'expansion, les alias, les options.
Chapitre 4, Expressions régulières: Expressions régulières: une introduction.
Chapitre 5, L'éditeur de flot GNU sed: Sed: une introduction à l'éditeur ligne à ligne.
Chapitre 6, Le langage de programmation GNU awk:Awd: introduction à awk le langage de progammation.
Chapitre 7, Les instructions de condition:Les instructions conditionnelles: constructions utilisées en Bash pour tester des conditions.
Chapitre 8, Ecrire des scripts interactifs: Les scripts interactifs: faire des scripts conviviaux, intégrer la saisie de l'utilisateur.
Chapitre 9, Tâches répétitives:Exécuter des commandes récursivement: constructions utilisées en Bash pour automatiser l'exécution de commandes.
Chapitre 10, Un peu plus sur les variables:Variables complexes: spécifier des types de variables, introduction aux tableaux de variables, opérations sur variables.
Chapitre 11, Fonctions: Fonctions: une introduction.
Chapitre 12, Trapper les signaux: Capturer des signaux: introduction aux signaux de processus, capturer les signaux envoyés par l'utilisateur.