Bap: corrections
This commit is contained in:
parent
1f6e889f17
commit
fca30288b5
8 changed files with 211 additions and 100 deletions
|
@ -13,8 +13,9 @@
|
|||
<p>
|
||||
Une fois que vous avez compris qu'un script n'est rien d'autre qu'une
|
||||
suite de commandes, vous avez fait un grand pas ; chaque script
|
||||
consiste à poser des rails : l'utilisateur n'a plus qu'à les
|
||||
suivre.
|
||||
consiste à poser des rails : l'utilisateur n'a plus qu'à les suivre
|
||||
(si tout cela ne vous paraît pas évident, consultez la page d'<a
|
||||
href="script.html">initiation à la programmation en shell</a>).
|
||||
</p>
|
||||
|
||||
<p>Toutefois, avoir posé les rails ne suffit pas toujours : il peut
|
||||
|
@ -769,9 +770,8 @@ code de retour 0 comme
|
|||
<p>
|
||||
Il existe une commande <code>test</code>, qui évalue des expressions
|
||||
booléennes (c'est-à-dire dont la valeur ne peut être que vraie ou
|
||||
fausse, 1 ou 0) passées en argument, et renvoie un code de retour en
|
||||
fonction du résultat. Elle est bien utile pour les scripts.
|
||||
Exemple :
|
||||
fausse) passées en argument, et renvoie un code de retour en fonction du
|
||||
résultat. Elle est bien utile pour les scripts. Exemple :
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
|
@ -780,12 +780,17 @@ then echo 'La variable vaut foo'
|
|||
else echo 'La variable ne vaut pas foo'
|
||||
fi</pre>
|
||||
|
||||
|
||||
<p>
|
||||
Pour en savoir plus sur les opérateurs de test, consultez la page <a
|
||||
href="test.html">tests et calculs arithmétiques</a> Ou bien vous pouvez
|
||||
revenir à la <a href="index.html">page centrale sur le shell</a>, d'où
|
||||
vous pourrez vous orienter vers d'autres parties du cours.
|
||||
</p>
|
||||
|
||||
|
||||
<div class="metainformation">
|
||||
Auteur : Baptiste Mélès.
|
||||
Dernière modification le <date value="$Date: 2005-06-03 14:59:10 $" />.
|
||||
Dernière modification le <date value="$Date: 2005-09-07 23:00:03 $" />.
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
|
|
@ -219,7 +219,7 @@ caract
|
|||
|
||||
<h4>Options à nom long</h4>
|
||||
|
||||
<p>Traditionnellement, et pur des raisons de concision, la majorité
|
||||
<p>Traditionnellement, et pour des raisons de concision, la majorité
|
||||
des options, sous Unix, est composée d'un tiret et d'une seule
|
||||
lettre. Toutefois, pour des raisons pratiques, il peut également
|
||||
exister des noms d'option longs ; ils sont en général
|
||||
|
@ -244,12 +244,21 @@ pour les donner en arguments
|
|||
|
||||
<pre>cc -o foo bar.c gee.c buz.c gog.c</pre>
|
||||
|
||||
<p class="continue">
|
||||
(pour les curieux, sachez que cette commande sert à <em>compiler</em> un
|
||||
programme écrit en langage C, c'est-à-dire à le traduire en langage
|
||||
machine. Mais avant de vous mettre au langage C, attendez de bien
|
||||
connaître le shell, il vous apprendra plus facilement et plus
|
||||
agréablement les bases de la programmation...)
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Pour éviter ces problèmes, on peut utiliser des <em>jokers</em>
|
||||
(<em>wildcards</em> en anglais). Pourquoi ce nom ? Eh bien, dans
|
||||
certains jeux de cartes, le joker permet de remplacer n'importe quelle
|
||||
carte ; dans le shell, les jokers permettent de remplacer n'importe
|
||||
quel caractère ou n'importe quelle séquence de caractères.
|
||||
Pour éviter les problèmes liés à la frappe de longues lignes de
|
||||
commandes, on peut utiliser des <em>jokers</em> (<em>wildcards</em> en
|
||||
anglais). Pourquoi ce nom ? Eh bien, dans certains jeux de cartes,
|
||||
le joker permet de remplacer n'importe quelle carte ; dans le
|
||||
shell, les jokers permettent de remplacer n'importe quel caractère ou
|
||||
n'importe quelle séquence de caractères.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
@ -487,13 +496,15 @@ commande it <em>cmd</em>
|
|||
|
||||
<p>Vous êtes maintenant en mesure de faire ces <a
|
||||
href="&url.tuteurs;unix/exercices/">exercices</a> pour vous
|
||||
entraîner.</p>
|
||||
entraîner. Ou bien vous pouvez revenir à la <a href="index.html">page
|
||||
centrale sur le shell</a>, d'où vous pourrez vous orienter vers d'autres
|
||||
parties du cours.</p>
|
||||
|
||||
|
||||
<div class="metainformation">
|
||||
Basé sur un polycopié de Roberto Di Cosmo, Xavier Leroy et Damien Doligez.
|
||||
Modifications : Nicolas George, Baptiste Mélès.
|
||||
Dernière modification le <date value="$Date: 2005-05-31 11:33:37 $" />.
|
||||
Dernière modification le <date value="$Date: 2005-09-07 23:00:04 $" />.
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
|
|
@ -19,7 +19,7 @@ Un programme consiste
|
|||
transformées : il transforme des informations, et c'est pourquoi
|
||||
l'on parle d'<em>informatique</em>.</p>
|
||||
|
||||
<p> Prenons le programme <code>hachoir</code>, par exemple : on y
|
||||
<p> Prenons un programme <code>hachoir</code>, par exemple : on y
|
||||
fait entrer des choses, elles sortent sous une autre forme, et dans
|
||||
l'intervalle, elles subissent des transformations régulières. Par
|
||||
exemple, on fait entrer une vache, il en ressort du steak haché ;
|
||||
|
@ -248,6 +248,10 @@ ls: foo: No such file or directory
|
|||
Je n'ai pas de fichier foo.
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
Pour en savoir plus sur les structures de test, consultez la page sur
|
||||
les <a href="test.html">tests et calculs arithmétiques</a>.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>Redirection des sorties standard et d'erreur</h2>
|
||||
|
@ -381,13 +385,15 @@ premi
|
|||
|
||||
<p>Vous êtes maintenant en mesure de faire ces <a
|
||||
href="&url.tuteurs;unix/exercices/">exercices</a> pour vous
|
||||
entraîner.</p>
|
||||
entraîner. Ou bien vous pouvez revenir à la <a href="index.html">page
|
||||
centrale sur le shell</a>, d'où vous pourrez vous orienter vers d'autres
|
||||
parties du cours.</p>
|
||||
|
||||
|
||||
<div class="metainformation">
|
||||
Basé sur un polycopié de Roberto Di Cosmo, Xavier Leroy et Damien Doligez.
|
||||
Modifications : Nicolas George, Baptiste Mélès.
|
||||
Dernière modification le <date value="$Date: 2005-07-05 07:18:06 $" />.
|
||||
Dernière modification le <date value="$Date: 2005-09-07 23:00:04 $" />.
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
|
|
@ -35,7 +35,8 @@ L'usage des <strong>fonctions</strong> permet de :
|
|||
<h3>Un programme sans fonction</h3>
|
||||
|
||||
<p>
|
||||
Utilisateur de TeX, vous voulez effacer régulièrement tous les fichiers
|
||||
Utilisateur de TeX ou <a href="&url.tuteurs;logiciels/latex/">LaTeX</a>
|
||||
(ou non), vous voulez effacer régulièrement tous les fichiers
|
||||
<code>.aux</code> et <code>.log</code> qui polluent vos répertoires.
|
||||
Pour ceux qui ne connaissent pas TeX, sachez que ce sont des fichiers
|
||||
construits automatiquement, et que l'on peut recréer facilement à partir
|
||||
|
@ -117,11 +118,11 @@ lignes) ;</li>
|
|||
la main</i> toutes les occurrences de ce que vous voulez changer, ce
|
||||
qui :
|
||||
<ol>
|
||||
<li> est <strong>fatiguant</strong> ;</li>
|
||||
<li> est <strong>fatigant</strong> ;</li>
|
||||
<li> est <strong>fastidieux</strong> ;</li>
|
||||
<li> est, surtout, <strong>très peu fiable</strong> : si vous
|
||||
oubliez une occurrence ou que vous modifiez un endroit alors qu'il ne le
|
||||
fallait pas, les conséquences sont parfois graves.</li>
|
||||
fallait pas, les conséquences peuvent être graves.</li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
|
@ -195,15 +196,12 @@ instruction2
|
|||
}
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
<ol>
|
||||
<li>
|
||||
On commence par <strong>trouver un nom à la fonction</strong>. Vous
|
||||
pouvez choisir ce nom à votre guise, par exemple liste_des_fichiers,
|
||||
effacer_fichier, etc.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Il est toutefois fortement recommandé :
|
||||
</p>
|
||||
pouvez choisir ce nom à votre guise, par exemple
|
||||
<code>liste_des_fichiers</code>, <code>effacer_fichier</code>, etc. Il
|
||||
est toutefois fortement recommandé :
|
||||
|
||||
<ul>
|
||||
<li> de <strong>ne pas donner à ses fonctions des noms de commandes
|
||||
|
@ -213,24 +211,27 @@ d
|
|||
du shell (<code>cd</code>, <code>alias</code>, etc.) et les commandes
|
||||
externes (<code>mutt</code>, <code>mozilla</code>, etc.). Le
|
||||
comportement devient difficilement prévisible, et surtout, le script
|
||||
sera difficile à débuguer... </li>
|
||||
sera très difficile à débuguer... </li>
|
||||
|
||||
<li> de <strong>ne pas utiliser de signes de ponctuation, d'espaces ni
|
||||
de caractères accentués</strong> dans les noms de fonction.</li>
|
||||
de caractères accentués</strong> dans les noms de fonction ;</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Une fois que vous avez donné un nom à la fonction, notez des
|
||||
</li>
|
||||
|
||||
<li>
|
||||
une fois que vous avez donné un nom à la fonction, notez des
|
||||
<strong>parenthèses ouvrante et fermante</strong> : ce sont elles
|
||||
qui indiquent à l'interpréteur du script qu'il s'agit d'une définition
|
||||
de fonction.
|
||||
</p>
|
||||
de fonction ;
|
||||
</li>
|
||||
|
||||
<p>
|
||||
Ensuite, <strong>entre accolades</strong>, notez la <strong>série des
|
||||
<li>
|
||||
enfin, <strong>entre accolades</strong>, notez la <strong>série des
|
||||
instructions</strong> qu'il faudra exécuter à chaque appel de la
|
||||
fonction.
|
||||
</p>
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
|
||||
<h4>Où définir les fonctions ?</h4>
|
||||
|
@ -426,10 +427,15 @@ plus facile,
|
|||
complexes.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Vous pouvez revenir à la <a href="index.html">page centrale sur le
|
||||
shell</a>, d'où vous pourrez vous orienter vers d'autres parties du
|
||||
cours.
|
||||
</p>
|
||||
|
||||
<div class="metainformation">
|
||||
Auteur : Baptiste Mélès.
|
||||
Dernière modification le <date value="$Date: 2005-09-07 10:18:58 $" />.
|
||||
Dernière modification le <date value="$Date: 2005-09-07 23:00:04 $" />.
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
|
|
@ -47,23 +47,49 @@ principales fonctionnalit
|
|||
</p>
|
||||
|
||||
<ul>
|
||||
<li> l'usage interactif, reposant sur les <strong>lignes de
|
||||
commandes</strong> ;</li>
|
||||
<li> la conception de <strong>scripts</strong> (programmes écrits en
|
||||
shell). </li>
|
||||
<li> l'usage interactif, reposant sur les <a
|
||||
href="commande.html"><strong>lignes de
|
||||
commandes</strong></a> ;</li>
|
||||
|
||||
<li> la conception de <a href="script.html"><strong>scripts</strong></a>
|
||||
(programmes écrits en shell). </li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Ces deux usages du shell sont tout à fait complémentaires. Pour une
|
||||
utilisation quotidienne, il est important de connaître quelques bases de
|
||||
l'utilisation du shell en ligne de commande ; et l'écriture de
|
||||
scripts shell permet de personnaliser son système en automatisant des
|
||||
tâches répétitives et fastidieuses.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Par ailleurs, la programmation en shell fournit un excellent marche-pied
|
||||
pour apprendre la programmation. C'est un langage simple, qui permet
|
||||
d'arriver rapidement à des résultats visibles.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Les pages que nous consacrons ici à l'apprentissage du shell vous
|
||||
apprendront à manipuler cet outil précieux et puissant. Elles
|
||||
sont accessibles à des débutants, même s'ils n'ont aucune connaissance
|
||||
préalable avancée en informatique, ni même en mathématiques ; elles
|
||||
sont accessibles à ceux qui ont une formation littéraire.
|
||||
</p>
|
||||
|
||||
<h2>Le shell en ligne de commande</h2>
|
||||
|
||||
<p>Si vous souhaitez utiliser le shell en ligne de commandes, nous vous
|
||||
recommandons en priorité la lecture des pages suivantes :</p>
|
||||
|
||||
<ul>
|
||||
<li> <a href="presentation.html">présentation générale du shell</a>, une
|
||||
introduction générale au shell ;</li>
|
||||
<li> <a href="presentation.html">présentation générale du
|
||||
shell</a> : qu'est-ce que le shell ? Comment
|
||||
l'utiliser ?</li>
|
||||
<li> <a href="commande.html">le shell en ligne de commande</a> :
|
||||
les bases de l'utilisation du shell ;</li>
|
||||
<li> <a href="variable.html">les variables</a>.</li>
|
||||
les bases de l'utilisation du shell en ligne de commande ;</li>
|
||||
<li> <a href="variable.html">les variables</a> : comment créer,
|
||||
lire et manipuler des variables avec le shell.</li>
|
||||
</ul>
|
||||
|
||||
<h2>Programmer des scripts shell</h2>
|
||||
|
@ -73,17 +99,22 @@ scripts), alors nous vous conseillons de lire
|
|||
|
||||
<ul>
|
||||
<li> <a href="script.html">programmation de scripts en shell</a> :
|
||||
les bases ;</li>
|
||||
écrivez vos premiers programmes en shell ;</li>
|
||||
|
||||
<li> <a href="entreesortie.html">entrée, sortie,
|
||||
redirection</a> ;</li>
|
||||
redirection</a> : faire interagir les éléments du shell pour
|
||||
construire des programmes évolués ;</li>
|
||||
|
||||
<li> <a href="test.html">test et calcul arithmétique</a> ;</li>
|
||||
<li> <a href="test.html">test et calcul arithmétique</a> :
|
||||
manipuler les valeurs de vrai et de faux pour orienter le parcours d'un
|
||||
programme ;</li>
|
||||
|
||||
<li> <a href="boucle.html">boucles et structures de
|
||||
contrôle</a> ;</li>
|
||||
contrôle</a> : maîtriser l'aiguillage d'un programme ;</li>
|
||||
|
||||
<li> <a href="fonction.html">définir et appeler des fonctions</a>.</li>
|
||||
<li> <a href="fonction.html">définir et appeler des fonctions</a> :
|
||||
alléger ses programmes et améliorer leur qualité en les concevant d'une
|
||||
façon modulaire.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
@ -91,7 +122,7 @@ contr
|
|||
Basé sur un polycopié de Roberto Di Cosmo, Xavier Leroy et Damien
|
||||
Doligez.
|
||||
Modifications : Nicolas George, Baptiste Mélès.
|
||||
Dernière modification le <date value="$Date: 2005-09-07 10:03:53 $"
|
||||
Dernière modification le <date value="$Date: 2005-09-07 23:00:04 $"
|
||||
/>.
|
||||
</div>
|
||||
|
||||
|
|
|
@ -178,8 +178,10 @@ Le nombre de scripts possibles est illimit
|
|||
autant que vous voulez, selon vos besoins : c'est ainsi que l'on
|
||||
personnalise son système et qu'on l'adapte à ses exigences, plutôt que
|
||||
l'inverse. Pour en savoir plus sur la programmation en shell, consultez
|
||||
les pages consacrées à la <a href="script.html">programmation de scripts en
|
||||
shell</a>.
|
||||
les pages consacrées à la <a href="script.html">programmation de scripts
|
||||
en shell</a>. Ou bien vous pouvez revenir à la <a href="index.html">page
|
||||
centrale sur le shell</a>, d'où vous pourrez vous orienter vers d'autres
|
||||
parties du cours.
|
||||
</p>
|
||||
|
||||
|
||||
|
@ -187,7 +189,7 @@ shell</a>.
|
|||
Basé sur un polycopié de Roberto Di Cosmo, Xavier Leroy et Damien
|
||||
Doligez.
|
||||
Modifications : Nicolas George, Baptiste Mélès.
|
||||
Dernière modification le <date value="$Date: 2005-06-20 13:18:30 $"
|
||||
Dernière modification le <date value="$Date: 2005-09-07 23:00:04 $"
|
||||
/>.
|
||||
</div>
|
||||
|
||||
|
|
|
@ -24,8 +24,8 @@ nous avons d
|
|||
Pour la programmation du shell, nous allons utiliser le shell
|
||||
<code>sh</code>, qui est le plus répandu et standard. Ce que nous avons
|
||||
vu jusqu'ici s'applique aussi bien à <code>sh</code> qu'à
|
||||
<code>zsh</code> et aussi à <code>csh</code>, à l'exception de
|
||||
<code>setenv</code> et de certaines redirections signalées. </p>
|
||||
<code>zsh</code> et aussi à <code>csh</code>, à quelques exceptions
|
||||
près, que nous vous signalerons en temps voulu. </p>
|
||||
|
||||
|
||||
<h2>Créer un script</h2>
|
||||
|
@ -43,10 +43,18 @@ pas un fichier binaire, ex
|
|||
L'interprétation signifie que chaque commande contenue dans un script
|
||||
doit être lue par un programme, appelé <em>interpréteur</em> (et non
|
||||
interprète, bizarrement) ; l'interpréteur analyse chaque commande
|
||||
du script et la traduit en langage machine, ce qui permet l'exécution du
|
||||
script.
|
||||
du script et la traduit « à la volée » en langage machine, ce
|
||||
qui permet l'exécution du script.
|
||||
</p>
|
||||
|
||||
<div class="encadre">
|
||||
On oppose l'interprétation à la compilation, dans laquelle le programme
|
||||
est traduit <em>une fois pour toutes</em> en langage machine, quel que
|
||||
soit le nombre de ses exécutions ; tandis que le programme
|
||||
interprété est traduit à la volée pour chacune de ses exécutions. Par
|
||||
exemple, le langage C est un langage compilé.
|
||||
</div>
|
||||
|
||||
<p>Dans le cas des scripts shell, l'interpréteur, c'est le shell
|
||||
lui-même. Dans d'autres langages, comme le Perl, l'interpréteur est un
|
||||
programme indépendant du shell. </p>
|
||||
|
@ -68,8 +76,10 @@ avez
|
|||
<p>Mais il faut savoir aussi que <strong>certains éditeurs de texte sont
|
||||
plus appropriés que d'autres à l'écriture de scripts shell</strong>. Par
|
||||
exemple, <code>nano</code> permet d'éditer des scripts comme tout autre
|
||||
éditeur, mais quand un script fait plus d'une ligne, on commence à s'y
|
||||
perdre un peu. À l'inverse, <code>emacs</code> et <code>vim</code>
|
||||
éditeur, mais quand un script fait plus d'une dizaine de lignes, on
|
||||
commence à s'y perdre un peu. À l'inverse, <a
|
||||
href="&url.tuteurs;unix/editeurs/emacs.html"><code>emacs</code></a> et
|
||||
<a href="&url.tuteurs;unix/editeurs/vim.html"><code>vim</code></a>
|
||||
offrent quelques fonctionnalités qui deviennent rapidement
|
||||
indispensables :</p>
|
||||
|
||||
|
@ -89,11 +99,9 @@ script qui ressemble
|
|||
#!/bin/sh
|
||||
# Fichier "vote-nir"
|
||||
|
||||
echo "Êtes-vous favorable au remplacement du NIR par le
|
||||
VIR ?"
|
||||
echo "Êtes-vous favorable au remplacement du NIR par le VIR ?"
|
||||
select opinion in Pour Contre
|
||||
do
|
||||
case $opinion in
|
||||
do case $opinion in
|
||||
# Laisser passer ceux qui répondent correctement à la question
|
||||
"Pour"|"Contre") break;;
|
||||
# Au cas où des zozos tapent sur autre chose que 1 ou 2
|
||||
|
@ -113,13 +121,12 @@ ceci : </p>
|
|||
#!/bin/sh
|
||||
# Fichier "vote-nir"
|
||||
|
||||
echo "Êtes-vous favorable au remplacement du NIR par le
|
||||
VIR ?"
|
||||
echo "Êtes-vous favorable au remplacement du NIR par le VIR ?"
|
||||
|
||||
select opinion in Pour Contre
|
||||
do
|
||||
case $opinion in
|
||||
# Laisser passer ceux qui répondent correctement à la
|
||||
question
|
||||
# Laisser passer ceux qui répondent correctement à la question
|
||||
"Pour"|"Contre") break;;
|
||||
|
||||
# Au cas où des zozos tapent sur autre chose que 1 ou 2
|
||||
|
@ -134,14 +141,16 @@ echo "$opinion" | mail bourdieu
|
|||
<p>Les deux scripts sont interprétés exactement de la même façon :
|
||||
l'interpréteur ignore les espaces et les lignes vides. Mais avec
|
||||
l'indentation, on perçoit immédiatement (en tout cas, beaucoup plus
|
||||
vite) la structure logique du script.</p>
|
||||
vite) la <strong>structure logique</strong> du script.</p>
|
||||
|
||||
|
||||
<h5>La coloration syntaxique</h5>
|
||||
<p>Les éditeurs comme <code>emacs</code> et <code>vim</code> analysent
|
||||
automatiquement le statut des différents mots et symboles que vous tapez
|
||||
et les colorent logiquement. Par exemple, avec emacs, vous pouvez
|
||||
avoir :</p>
|
||||
<p>Les éditeurs comme <a
|
||||
href="&url.tuteurs;unix/editeurs/emacs.html"><code>emacs</code></a> et
|
||||
<a href="&url.tuteurs;unix/editeurs/vim.html"><code>vim</code></a>
|
||||
analysent automatiquement le statut des différents mots et symboles que
|
||||
vous tapez et les colorent logiquement. Par exemple, avec emacs, vous
|
||||
pouvez avoir :</p>
|
||||
|
||||
<ul>
|
||||
<li> les commentaires en rouge ;</li>
|
||||
|
@ -360,11 +369,44 @@ caract
|
|||
echo "Ce que je tape ici sera lu."
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
Les lignes de commentaire sont tout bonnement ignorées par
|
||||
l'interpréteur. Alors, allez-vous demander, à quoi servent-elles si
|
||||
elles ne servent à rien ? Elles sont indispensables pour tout
|
||||
programmeur, car elles lui permettent de « commenter » son
|
||||
programme, c'est-à-dire d'écrire ce qu'il veut, comme dans la marge d'un
|
||||
livre.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Les commentaires jouent pour beaucoup dans la lisibilité d'un programme
|
||||
par un humain. Car les lignes de commande pures sont relativement
|
||||
austères ; des commentaires permettent de les décrire à l'intention
|
||||
d'un être humain.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Sans doute allez-vous vous demander quel être humain cela peut bien
|
||||
intéresser. Eh bien, quelqu'un d'autre que vous qui lit ce code ;
|
||||
ou bien vous-même, dans un mois, un an, une décennie, ou plus, quand
|
||||
vous aurez tout oublié de ce programme et de son fonctionnement.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
N'hésitez donc pas à recourir abondamment aux commentaires, qui
|
||||
accroissent la lisibilité de votre programme, même s'ils n'ont
|
||||
absolument aucune influence directe sur son fonctionnement intrinsèque.
|
||||
</p>
|
||||
|
||||
|
||||
<h3>Lignes blanches</h3>
|
||||
|
||||
<p>
|
||||
Les lignes blanches ne sont pas interprétées non
|
||||
plus. N'hésitez donc surtout pas à espacer votre script, les
|
||||
lignes blanches ne consomment presque rien en termes d'espace disque, ce
|
||||
n'est donc pas une ressource rare.
|
||||
n'est donc pas une ressource rare ; et elles facilitent
|
||||
considérablement la lecture pour un être humain.
|
||||
</p>
|
||||
|
||||
<h3>L'impératif de lisibilité</h3>
|
||||
|
@ -432,10 +474,8 @@ Exercice : francisez ce script.
|
|||
<h3>La commande <code>echo</code></h3>
|
||||
|
||||
<p>
|
||||
La commande <code>echo</code> sert à afficher du texte sur la sortie
|
||||
standard (pour savoir ce qu'est la sortie standard, consultez la page
|
||||
sur les <a href="entreesortie.html">entrées et sorties</a>). Chaque
|
||||
ligne de texte est écrite sur une ligne à part. Exemple :
|
||||
La commande <code>echo</code> sert à afficher du texte. Chaque ligne de
|
||||
texte est écrite sur une ligne à part. Exemple :
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
|
@ -608,7 +648,7 @@ echo "Les pattes, surtout la gauche."
|
|||
|
||||
<p>
|
||||
Vous connaissez maintenant les bases de la programmation en shell. Vous
|
||||
avza déjà de quoi écrire de nombreux scripts qui peuvent vous faciliter
|
||||
avez déjà de quoi écrire de nombreux scripts qui peuvent vous faciliter
|
||||
la vie de tous les jours. Pour cela, lorsque vous ressentez un besoin,
|
||||
ne vous demandez pas si vous avez les connaissances requises pour écrire
|
||||
un programme donné, mais plutôt <em>comment, à partir de vos
|
||||
|
@ -617,26 +657,36 @@ connaissances actuelles, vous pourriez le r
|
|||
|
||||
<p>
|
||||
Pour poursuivre votre apprentissage, vous pouvez passer à la lecture des
|
||||
pages suivanets :
|
||||
pages suivantes :
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li> <a href="entreesortie.html">entrée, sortie,
|
||||
redirection</a> ;</li>
|
||||
<li> <a href="entreesortie.html">entrée, sortie, redirection</a> :
|
||||
faire interagir les éléments du shell pour construire des programmes
|
||||
évolués ;</li>
|
||||
|
||||
<li> <a href="test.html">test et calcul arithmétique</a> ;</li>
|
||||
<li> <a href="test.html">test et calcul arithmétique</a> :
|
||||
manipuler les valeurs de vrai et de faux pour orienter le parcours d'un
|
||||
programme ;</li>
|
||||
|
||||
<li> <a href="boucle.html">boucles et structures de
|
||||
contrôle</a> ;</li>
|
||||
<li> <a href="boucle.html">boucles et structures de contrôle</a> :
|
||||
maîtriser l'aiguillage d'un programme ;</li>
|
||||
|
||||
<li> <a href="fonction.html">définir et appeler des fonctions</a>.</li>
|
||||
<li> <a href="fonction.html">définir et appeler des fonctions</a> :
|
||||
alléger ses programmes et améliorer leur qualité en les concevant d'une
|
||||
façon modulaire.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Ou bien vous pouvez revenir à la <a href="index.html">page centrale sur
|
||||
le shell</a>, d'où vous pourrez vous orienter vers d'autres parties du
|
||||
cours.
|
||||
</p>
|
||||
|
||||
<div class="metainformation">
|
||||
Auteur : Baptiste Mélès.
|
||||
Dernière modification le <date value="$Date: 2005-09-07 10:03:54 $" />.
|
||||
Dernière modification le <date value="$Date: 2005-09-07 23:00:04 $" />.
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
|
|
@ -120,7 +120,7 @@ elles sont ex
|
|||
|
||||
<pre>
|
||||
# Troisième cas
|
||||
[ <strong>! -f</strong> foo ] <strong>&&</strong> echo "Le fichier foo n'existe pas.
|
||||
[ <strong>! -f</strong> foo ] <strong>&&</strong> echo "Le fichier foo n'existe pas."
|
||||
Le fichier foo n'existe pas.
|
||||
</pre>
|
||||
|
||||
|
@ -132,7 +132,7 @@ code de retour est 1, et les commandes sont ex
|
|||
|
||||
<pre>
|
||||
# Quatrième cas
|
||||
[ <strong>! -f</strong> foo ] <strong>||</strong> echo "Le fichier foo existe.
|
||||
[ <strong>! -f</strong> foo ] <strong>||</strong> echo "Le fichier foo existe."
|
||||
</pre>
|
||||
|
||||
<p class="continue">Voici la dernière combinaison possible. Le code de
|
||||
|
@ -417,7 +417,7 @@ fi
|
|||
|
||||
<div class="metainformation">
|
||||
Auteur : Baptiste Mélès.
|
||||
Dernière modification le <date value="$Date: 2005-09-07 21:19:24 $" />.
|
||||
Dernière modification le <date value="$Date: 2005-09-07 23:00:05 $" />.
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
|
Loading…
Add table
Reference in a new issue