Contributions : --------------- �#linux.be, pour m'avoir aider ~ garder les pieds sur terre� = pour m'avoir aid� Organisation de ce document : ----------------------------- �Les chapitres 4 ~ 6 abordent les outils de bases qui sont utilis~s r~guli~rement dans les scripts.� = les outils de base Chapitre 1. Bash et scripts Bash : ---------------------------------- (Les fonctions du shell) �A part de passer des commandes au noyau� = Hormis (en dehors) de passer... (Types de Shell) �Pour permuter de d'un Shell ~ un autre� = Pour permuter d'un Shell... �et puisque un Shell est un fichier� = et puisqu'un Shell... (Avantages du Bourne Again SHell) = Shell (Bash est le Shell GNU) �Cela a ~t~ le cas avec le programme Bash, qui a beaucoup...� = qui poss�de... (Fonctionnalit~s offertes seulement par le Bash) (Invocation) �la liste compl~te peut ~tre trouv~es...� = trouv�e (Invoqu~ pour ~tre le Shell d'interaction, ou avec l'option `--login') �Le Shell n'est pas lanc~ parce que un script...� = parce qu'un (Eviter l'usage d'outils ~ distance) �...non-UNIX aussi...� = non-UNIX �galement... (Qu'est-ce qu'un Shell interactif) �Un Shell interactif g~n~ralement lit et ~crit depuis et sur un terminal utilisateur� = depuis et dans un terminal... (Ce Shell est-il interactif ?) �-, il contient un 'i'� = ?? (Le comportement d'un Shell interactif) �une structure de commande pas finie� = commande non finie... �L'historique des commandes avec leur expansion� = leur extension ? �L'expansion d'alias est actif.� = L'extension ? �...comportement est d~activ~.� = d�sactiv� �Quand les commandes int~gr~es du Shell trouve...� = trouvent... �aborde divers processus d'expansion...� = d'extension ? (Les conditions) �Il y a aussi des op~rateurs...� = il existe aussi...? (L'arithm~tique avec Shell) �en tant que processus d'expansion...� = d'extension ? (Alias) �En cons~quence, l'alias d~finit...� = d�fini (L'invite) �Bash permet de jouer avec l'invite de fa~on amusante� = l'invite de commande...? (Le Shell restreint) �L'Import de fonctions...� = L'import... (ou importation ?) (L'ex~cution de commandes) (G~n~ralit~) �un nouveau processus est cr~e� = cr�� �Bash lance une copie exact...� = exacte (Les commandes int~gr~es du Shell) �Les variables affect~es avant la commande existe...� = existent (Construction de blocs - Construction de blocs Shell - La syntaxe Shell) �Le Shell parses (analyse et transforme)...� = parse...? �Bash proc~de ~ diverses expansions d'~l~ments...� = extensions ? (Le processus d'expansion de Shell) = d'extension ? expansion --> extension en g�n�ral ? (Redirections) �...employant un symbol sp~cial...� = symbole (L'ex~cution de commandes) �...le nom de commande cherch�� = recherch� ? (Ecrire de bons scripts - Caract~ristiques d'un bon script) = �crire �Ce guide est principalement ~ propos de scripts avec des constructions...� = Ce guide concerne principalement...? �Il devrait accomplir la t~che pour lequel il a ~t~ con~u.� = pour laquelle �Un script n'ex~cute pas des instructions inutiles.� = d'instructions �Comment je vais m~moriser ces donn~es ?� = vais-je (Structure) �L'utilisateur a-t'il besoin...� = a-t-il (Un mot sur l'ordre et la logique) �L'exemple ci-dessous montre un tel encha~nement logique Il d~crit la rotation des fichiers journaux.� = logique. Il d�crit... (Un exemple Bash script : mysystem.sh) �Suit le nom du Shell qui ex~cutera les commandes suivant.� = suivantes (La localisation standard du Bourne Again Shell) �Ceci implique que le programme bash est install~ dans /bin.� = bash soit install� (Exemple : init script (NdT d'initialisation)) �configuration du syst~me(NdT qui correspond ~ une utilisation� = syst�me (NdT...) (R~sum~) �Les scripts sont lus et ex~cut~s ligne par ligne et devrait...� = devraient (Exercices) �Si ce n'est pas d~j~ le cas, param~trez l'invite de sorte...� = l'invite de commande...? Chapitre 2. Ecrire et corriger des scripts ------------------------------------------ = �crire (R�sum�) �Ecrire un script simple� = �crire (Cr~er et lancer un script - ~crire et nommer) �vim, emacs, gedit, dtpad et cetera...� = ...dtpad, etc. sont tous valides. (script1.sh) �Dans cet exemple nous employant l'int~gr~e...� = employons �Il peut ~tre une bonne id~e...� = Ce peut �tre �et si . (le r~pertoire courant) n'est pas...� = et si le r�pertoire... �...autant que la claret~ le demande.� = clart� (D~bugger (NdT : corriger) les scripts Bash - D~bugger le script globalement) = D�boguer �...vous devez d~terminer qu'est-ce qui provoque...� = d�terminer ce qui provoque ? (Fonctionnalit~s ~ venir du Bash) �l y a maintenant un d~bugger complet...� = d�bogueur (D~bugger qu'une partie du script) = D�boguer �...informations de d~buggage seulement...� = d�bogage (Tableau 2.1. Aper~u des options de d~bug) = d�bogage �Affiche les lignes fournies au Shell telle qu'elles...� = telles qu'elles �Dans des scripts plus ~labor~s echo peut ~tre ins~r~s...� = ins�r� (R~sum~) �...options Shell de d~bug.� = d�bogage �...commandes echo a des endroits...� = � des endroits... Chapitre 3. L'environnement du Bash ----------------------------------- (Les fichiers d'initialisation du Shell - Les fichiers de configuration qui agissent sur tout le syst~me) (/etc/profile) �...fichiers de configuration tel que :� = tels que �...des commandes m~me mal lib~ll~es.� = libell�es �Nous traiterons des alias ~ la la...� = � la section... �Ce fichier contient une fonction pskill ; qui sera ~tudi~e en d~tail...� = pskill, qui... (Modification des fichiers de configuration du Shell) �...celui-ci les exportent.� = exporte. �...comme pour debugger un script� = d�boguer (Variables - Types de variables - Les variables Globales) �Ces programmes font partis du paquetage sh-utils.� = partie (Variables locales) �L'affichage sera tri~ et dans un format r~utilisable.� = tri� dans un format... (Cr~er des variables) �C'est conseill~ d'entourer la valeur...� = Il est conseill�... (Tableau 3.1. Variables r~serv~es Bourne Shell) �Une liste des r~pertoires, s~par~s par deux points( :)� = deux points (:) (Tableau 3.2. Les variables r~serv~es de Bash) �...sa valeur est interpr~t~e(expansion)...� = interpr�t�e (expansion)... �Une cha~ne qui descrit la machine...� = d�crit �...lasses de caract~res[NdT : ex : [ :alpha] ]...� = caract�res [NdT, ex : [:alpha]]... �...guillemets pr~c~d~s par un ~ $ ~.� = �$�. �Une cha~ne qui descrit compl~tement le type...� = d�crit �Par d~faut ~ '#? ' � = �'#?'� �par defaut ~ '+ ' ~.� = �'+'�. �s~par~es par deux points( :).� = points (:). �dans un tube(pipeline)� = tube (pipeline) (Param~tres Sp~ciaux) = sp�ciaux ($* vs. $@) �...et aurait d~ remplac~ pratiquement par...� = d� "�tre" remplac�...? �...utilise ~ $* ~, il veut dire ~ $@ ~. ~ $* ~...� = �$*�, il veut dire �$@�. �$*�... (Script ~ finalit~s multiples gr~ce aux variables) �...racine de frankyvers un serveur...� = franky vers �...ranky veuille donne ce script...� = franky veuille donner (Echappement et protection de caract~res) = �chappement (Les apostrophes) �...pr~c~d~e par un slash invers~e.� = invers� (Particularit~s) �...norme est celle de ~ C ~ ou de ~ POSIX ~ = �C� ou de �POSIX� (Le processus d'expansion de Shell - G~n~ralit~) �...voir la la section intitul~e ~ La syntaxe Shell ~...� = voir la section...�la syntaxe Shell� �L'expansion d'accolade est effectu~e avant tout autres...� = tout "les" autres ? �...la cha~ne ~ ${ ~ n'est pas ~ligible...� = �${� (L'expansion du tilde) �...tilde non prot~g~ (~ ~ ~)...� = (�~�) �...tilde est ~ ~+ ~, la valeur de la variable Shell PWD remplace le pr~fixe tilde. Si le pr~fixe tilde est ~ ~- ~...� = �~+�...�~-�... �...pr~fix~ par ~ + ~ ou ~ - ~...� = �+� ou �-�... # idem pour la suite (pas d'espace dans les ��). (La substitution de commande) �...caract~res entre parenth~ses font partis de la commande...� = partie (La substitution de processus) �...admettent les tubes(pipes) nomm~s...� = tubes (pipes)... �Plus de d~tails ~ la la section intitul~e...� = � la section... (Le d~coupage de mots) �...toute suite de caract~res IFS servent...� = sert... �...espace IF, d~limite un champs� = champ (Expansion de noms de fichier) �...(voir la section intitul~e ~ D~bugger qu'une partie du script ~)...� = D�boguer (Expansion de noms de fichier) �Si GLOBIGNORE est activ~ , les...� = activ�, les... �...Shell dotglob , donc tous...� = dotglob, donc... (Cr~er et supprimer des alias) �Un alias est cr~~ par l'int~gr~e alias .� = alias. (Plus d'options Bash - Changer les options) �...de l'option noclobber , qui...� = noclober, qui... �...valeurs incorrectes affec~es ~ des variables...� = affect�es �...par exemple,quand une...� = exemple, quand... �...noglob , laquelle emp~che...� = noglob, laquelle... Chapitre 4. Expressions r~guli~res --------------------------------- (R~sum~) �Dans ce chapitre nous abordons� = aborderons ? (Tableau 4.1. Op~rateurs d'expression r~guli~re) �Correspond a tout caract~re� = � tout... �repr~sente l'intervalle si ????????????� = ? #manque qque chose ? (Exemples en utilisant grep - Qu'est-ce que grep ?) �...ou sur tout autre sorte de sortie que vous avez requis...� = "type" de sortie ? �Si le dernier byte d'un fichier... = dernier octet... (Ancres de lignes et de mots) �...nous voulons maintenant afficher que les lignes...� = n'afficher... �Si nous voulons voir quels comptes n'a aucun Shell de d~fini...� = n'ont aucun... �...c'est mieux d'employer -w...� = le mieux est... �...toutes les lignes de la table du syst~me de fichiers sera affich~e.� = seront affich�es (La correspondance de patron dans les fonctionnalit~s Bash - Intervalle de caract~re) �...il y a un bon paquet de correspondances...� = il existe beaucoup de...? �...l'ast~risque (*) et le point d'interrogation (?) cible...� = ciblent (R~sum~) �Bash a des fonctionnalit~s int~gr~es...� = Bash poss�de...? (Exercices) �...fichier qui ne contiennent par la cha~ne.� = pas... Chapitre 5. L'~diteur de flot GNU sed ------------------------------------- (Introduction - Qu'est-ce que sed ?) �...de fichiers , sed est d'une grande aide.� = fichiers, sed... (Trouver et remplacer avec sed) �...pour indiquer ~ sed que il doit traiter...� = qu'il doit (L'usage en mode diff~r~ de sed - Lire des commandes sed depuis un fichier) �De multiple commandes sed...� = multiples... �...x~cut~es avec l'option -f option.� = l'option -f. �...toute sauf la derni~re ligne finit par un slash invers~.� = toutes... Chapitre 6. Le langage de programmation GNU awk ----------------------------------------------- (Commencer avec gawk - Qu'est-ce que gawk ?) �...programme couramment disponible sous UNIX awk program...� = UNIX awk, un autre... �...awk est souvent qu'un lien vers gawk, nous y r~f~rerons en tant que awk.� = awk n'est souvent...nous nous y r�f�rerons... (Le programme d'affichage - Afficher les champs s~lectionn~s) �...il divise la ligne en champs bas~ sur le...� = champ... �...premier, second, troisi~me jusqu'au dernier champs...� = champ... (Formater les champs) �...caract~res sp~ciaux de formatage characters :� = formatage : (La commande print et les expressions r~guli~res) �...prot~g~ parce que il fait parti d'une cha~ne...� = partie (Les variables Gawk) �...d'autres sont en lecture.� = lecture seule. ? (Le s~parateur d'enregistrement de r~sultat) �...ORS(NdT : output record separator).� = ORS (Ndt :...) �...Donc, chaque instructionprint...� = instruction print... (Plus d'exemples) �L'exemple de la la section intitul~e...� = de la section... (R~sum~) �Les deux, Perl et awk, se partage la r~putation...� = partagent (Exercices) �...si il ne situe pas dans une partition distincte...� = s'il ne se situe pas... Chapitre 7. Les instructions de condition ----------------------------------------- (Introduction de if - G~n~ralit~) �A certain moment vous pouvez...� = � certains moments... �Le TEST-COMMAND souvent comprend...� = Le TEST-COMMAND comprend souvent... (Simples applications de if) = Applications simples de if ? (L'emploi avanc~ de if - les blocs if/then/else - Exemple simple) �...tir~ de celui de la la section intitul~e ~ Tester le statut d'ex~cution ~ :� = celui de la section... (Tester le nombre de param~tres) �Consulter la la section intitul~e...� = consulter la section (Emploi de l'instruction exit et du if) �...'instruction exit dans la la section intitul~e...� = dans la section �...afin que divers traitements soit activ~s...� = soient activ�s (Exercices) �Adaptez le script ~ partir du 1er exemple ~ la la section intitul~e...� = exemple � la section... Chapitre 8. Ecrire des scripts interactifs ------------------------------------------ = �crire (Afficher les messages utilisateurs - Interactif ou pas ?) �...peut ~tre plus facilement d~bugg~.� = d�bogu� �Bash a les commandes echo et printf...� = Bash poss�de...? (Utiliser la commande int~gr~e echo) �...nous ~crirons le feed.sh et le penguin.sh de la la section intitul~e...� = penguin.sh de la section... �...caract~res d'~chappement ~ la la section intitul~e...� = d'�chappement � la section... (R~cup~rer la saisie utilisateur - L'emploi de la commande int~gr~e read) �...voir la la section intitul~e...� = voir la section... �...si un invalide descripteur de fichier est fourni en argument ~ l'option -u option. � = descripteur de fichier invalide...l'option -U. (Redirection des erreurs) �...par cons~quent vous ne pourrez d~bugger.� = d�boguer �...les erreur sont souvent redirig~es...� = erreurs... (Fichier d'entr~e et fichier de sortie - Avec /dev/fd) �...perdur~ dans beaucoup de programme� = programmes (Fermer les descripteurs de fichiers) �Ceci est fait avec la syntaxe suivante exec fd<&- syntax.� = ...syntaxe suivante exec fd<&- (Les documents int~gr~s (NdT : here documents, que l'on appele aussi 'document li~')) �...il doit ~tre un bloc dedans le script.� = bloc dans le script (Exercices) �...sortir apr~s avoir afficher le...� = affich� �R~~crire le script de la la section intitul~e...� = script de la section Chapitre 9. T~ches r~p~titives ----------------------------- (Table des mati�res) �Comment ~a marche?� =marche ? �Qu'est-ce que c'est?� = c'est ? �Qu'est-ce qu'elle fait?� = fait ? (R~sum~) �Ecrire des boucles...boucle convient ~ quelle besoin.� = �crire...quel besoin. �Ecrire des scripts...� = �crire (La boucle loop) �...m~me si i est employ~ tr~s souvent.� = s'il est... (Utiliser la valeur d'une variable pour sp~cifier les ~l~ments de LIST) �...aux lignes d'ent~te et d'empied� = et de pied ? (La boucle while) �...peut ~tre toute commande(s)...� = toute(s) commandes(s) (La boucle until) �...~ part que elle s'ex~cute jusqu'~ ce que...� = qu'elle �...remplac~ par un ou plus sauts de lignes...� = un ou plusieurs (Break et continue - L'int~gr~e break) �... par exemple parce que elle est d~pendante...� = parce qu'elle (L'int~gr~e continue - Exemples) �...consomment pas trop de ressources syst~mes...� = ressource syst�me �...si les tests ~tait positionn~s...partageant les ressources syst~mes.� = �taient...syst�me. �tr fait parti du paquet...� = partie (Faire des menus avec l'int~gr~e select) (Sous-menus) �...autorise un(des) sous-menu(s) dans un menu.� = un (des) (L'int~gr~e shift) (Exemples) �...commande n'est pas connu par avance...� = d'avance �...script de la la section intitul~e...� = script de la section (R~sum~) �Les boucles peuvent ~tre interrompues ou r~it~r~e...� = r�it�r�es (Exercices) �...~diter sans craintes.� = crainte �...l'exemple de la la section intitul~e �Redirection des sorties�?� = de la section �...celui de la la section intitul~e ~ L'int~gr~e break ~...� = celui de la section intitul�e �L'int�gr�e break�...� �...script de la la section intitul~e ~ Exemples ~...� = script de la section intitul�e �Exemples�... �...whichdaemon.sh de la la section intitul~e ~ Op~rations bool~ennes ~...� = de la section intitul�e �Op�rations bol�ennes�... �Revoir les scripts de la la section intitul~e ~ Calcul d'une moyenne ~.� = scripts de la section intitul�e �Calcul d'une moyenne�. Chapitre 10. Un peu plus sur les variables ------------------------------------------ (Types de variables - Constantes) �...une liste de toute les variables en lecture...� = toutes (Variables tableau - Cr~er des tableaux) �Les tableaux d~marre ~ z~ro...� = d�marrent (Exemples de tableaux) �Exemples pratiques de la manipulation...� = Des exemples... �...avec les param~tres ad-hoc.� = ad hoc. (Op~rations sur les variables - Arithm~tique sur les variables) �Nous avons d~j~ abord~ la question ~ la la section intitul~e ~ L'expansion arithm~tique ~.� = question � la section...�L'expansion arithm�tique�.� (Transformation de variables - Substitution) �Voir la la section intitul~e ~ Comparaisons de cha~nes ~...� = Voir la section intitul�e �Comparaisons de cha�nes�... (Remplacer des parties de noms de variables) �ou l'option ${VAR//PATRON/CHAINE} syntax�. = ${VAR/PATRON/CHAINE}. Chapitre 11. Fonctions ---------------------- (R~sum~) �Qu'est-ce qu'une fonction� = fonction ? (Les param~tres positionnels dans les fonctions) �...tandis qu'elle s'ex~cute� = s'ex�cute. �...scripts d'initialisation de votre syst~me souvent emploient...� = emploient souvent �...que si le test rend vrai...� = retourne vrai...? (Exemples de fonctions dans des scripts - Recyclage) �Il y a plein de scripts sur votre syst~me...� = Il y a beaucoup �...n'ont qu'~ ~tre ~crites qu'une seule fois,...� = n'ont � �tre �crites... �Simplement entrez la ligne� = Entrez simplement... (D~finir le chemin) �La fonction consid~re son premier argument comme ~tant des noms de chemin.� = �tant un nom... (Sauvegarde ~ distance) �...qui font chacune un fichier .tar,...� = qui produisent... �...combin~es en une commande tel que...� = telle que... Chapitre 12. Trapper les signaux -------------------------------- (Tableau 12.2. Signaux courants de kill) �Stop le processus� = Stoppe (Pi~ger les signaux - G~n~ralit~) �...que les usagers de vos scripts quitte abruptement...� = quittent... �...parce que une entr~e...� = parce qu'une... (Comment Bash interpr~te trap) �...le pi~ge ne sera mis en oeuvre que une fois...� = qu'une fois que... (Plus d'exemples - D~tecter quand une variable est utilis~e) �...sur ce que fait votre scripts :� = votre script : (Exercices) �Ecrire un script...� = �crire �...rendra la disquette inutilisable� = inutilisable. Annexe A. Possibilit~s du Shell ------------------------------- (Fonctionnalit~s courantes) �...sont seulement disponibles sur les syst~mes qui permettent le contr~le des travaux(job control).� = sont disponibles seulement...travaux (job control). (Tableau A.1. Fonctionnalit~s courantes du Shell) �Citation du caract~re qui suit(NdT : emploi du caract~re dans son sens litt~ral->~chappement)� = qui suit (Ndt :... Glossaire --------- (a2ps) �Formate des fichiers qui puisse...� = puissent (adduser) �Cr~er un nouvel utilisateur ou modifie...� = modifier (bzip2) �Un compresseur de fichier qui tri sur les blocs.� = trie (cat) �Concat~ne des fichiers et afficher sur la sortie standard.� = affiche (mkbootdisk) (mkdir) (mkisofs) �Cr~~ un...� = Cr�e (mtr) �Outil de diagnostique r~seau.� = diagnostic (perl) �Practical Extraction and Report Language.� = Practical Extraction and Report Language (langage de programmation). (pg) �Page through text output.� = Page par l'entremise d'une sortie texte ? (telnet) �Interface utilisateur au protocole TELNET...� = utilisateur du protocole...