Bap: corrections

This commit is contained in:
meles 2005-09-07 23:00:03 +00:00
parent 1f6e889f17
commit fca30288b5
8 changed files with 211 additions and 100 deletions

View file

@ -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&nbsp;; chaque script
consiste à poser des rails&nbsp;: l'utilisateur n'a plus qu'à les
suivre.
consiste à poser des rails&nbsp;: 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&nbsp;: 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&nbsp;:
fausse) passées en argument, et renvoie un code de retour en fonction du
résultat. Elle est bien utile pour les scripts. Exemple&nbsp;:
</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>

View file

@ -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&nbsp;; 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&nbsp;C, c'est-à-dire à le traduire en langage
machine. Mais avant de vous mettre au langage&nbsp;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&nbsp;? Eh bien, dans
certains jeux de cartes, le joker permet de remplacer n'importe quelle
carte&nbsp;; 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&nbsp;? Eh bien, dans certains jeux de cartes,
le joker permet de remplacer n'importe quelle carte&nbsp;; 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&nbsp;: 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>

View file

@ -19,7 +19,7 @@ Un programme consiste
transformées&nbsp;: 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&nbsp;: on y
<p> Prenons un programme <code>hachoir</code>, par exemple&nbsp;: 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é&nbsp;;
@ -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&nbsp;: 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>

View file

@ -35,7 +35,8 @@ L'usage des <strong>fonctions</strong> permet de&nbsp;:
<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)&nbsp;;</li>
la main</i> toutes les occurrences de ce que vous voulez changer, ce
qui&nbsp;:
<ol>
<li> est <strong>fatiguant</strong>&nbsp;;</li>
<li> est <strong>fatigant</strong>&nbsp;;</li>
<li> est <strong>fastidieux</strong>&nbsp;;</li>
<li> est, surtout, <strong>très peu fiable</strong>&nbsp;: 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é&nbsp;:
</p>
pouvez choisir ce nom à votre guise, par exemple
<code>liste_des_fichiers</code>, <code>effacer_fichier</code>, etc. Il
est toutefois fortement recommandé&nbsp;:
<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&nbsp;;</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>&nbsp;: ce sont elles
qui indiquent à l'interpréteur du script qu'il s'agit d'une définition
de fonction.
</p>
de fonction&nbsp;;
</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&nbsp;?</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>

View file

@ -47,23 +47,49 @@ principales fonctionnalit
</p>
<ul>
<li> l'usage interactif, reposant sur les <strong>lignes de
commandes</strong>&nbsp;;</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>&nbsp;;</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&nbsp;; 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&nbsp;; 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&nbsp;:</p>
<ul>
<li> <a href="presentation.html">présentation générale du shell</a>, une
introduction générale au shell&nbsp;;</li>
<li> <a href="presentation.html">présentation générale du
shell</a>&nbsp;: qu'est-ce que le shell&nbsp;? Comment
l'utiliser&nbsp;?</li>
<li> <a href="commande.html">le shell en ligne de commande</a>&nbsp;:
les bases de l'utilisation du shell&nbsp;;</li>
<li> <a href="variable.html">les variables</a>.</li>
les bases de l'utilisation du shell en ligne de commande&nbsp;;</li>
<li> <a href="variable.html">les variables</a>&nbsp;: 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>&nbsp;:
les bases&nbsp;;</li>
écrivez vos premiers programmes en shell&nbsp;;</li>
<li> <a href="entreesortie.html">entrée, sortie,
redirection</a>&nbsp;;</li>
redirection</a>&nbsp;: faire interagir les éléments du shell pour
construire des programmes évolués&nbsp;;</li>
<li> <a href="test.html">test et calcul arithmétique</a>&nbsp;;</li>
<li> <a href="test.html">test et calcul arithmétique</a>&nbsp;:
manipuler les valeurs de vrai et de faux pour orienter le parcours d'un
programme&nbsp;;</li>
<li> <a href="boucle.html">boucles et structures de
contrôle</a>&nbsp;;</li>
contrôle</a>&nbsp;: maîtriser l'aiguillage d'un programme&nbsp;;</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>&nbsp;:
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&nbsp;: 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>

View file

@ -178,8 +178,10 @@ Le nombre de scripts possibles est illimit
autant que vous voulez, selon vos besoins&nbsp;: 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&nbsp;: 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>

View file

@ -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)&nbsp;; 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 «&nbsp;à la volée&nbsp;» 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&nbsp;; tandis que le programme
interprété est traduit à la volée pour chacune de ses exécutions. Par
exemple, le langage&nbsp;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&nbsp;:</p>
@ -89,11 +99,9 @@ script qui ressemble
#!/bin/sh
# Fichier &quot;vote-nir&quot;
echo &quot;Êtes-vous favorable au remplacement du NIR par le
VIR&nbsp;?&quot;
echo &quot;Êtes-vous favorable au remplacement du NIR par le VIR&nbsp;?&quot;
select opinion in Pour Contre
do
case $opinion in
do case $opinion in
# Laisser passer ceux qui répondent correctement à la question
&quot;Pour&quot;|&quot;Contre&quot;) break;;
# Au cas où des zozos tapent sur autre chose que 1 ou 2
@ -113,18 +121,17 @@ ceci&nbsp;: </p>
#!/bin/sh
# Fichier &quot;vote-nir&quot;
echo &quot;Êtes-vous favorable au remplacement du NIR par le
VIR&nbsp;?&quot;
select opinion in Pour Contre
do
case $opinion in
# Laisser passer ceux qui répondent correctement à la
question
&quot;Pour&quot;|&quot;Contre&quot;) break;;
echo &quot;Êtes-vous favorable au remplacement du NIR par le VIR&nbsp;?&quot;
# Au cas où des zozos tapent sur autre chose que 1 ou 2
&quot;*&quot;) continue;;
esac
select opinion in Pour Contre
do
case $opinion in
# Laisser passer ceux qui répondent correctement à la question
&quot;Pour&quot;|&quot;Contre&quot;) break;;
# Au cas où des zozos tapent sur autre chose que 1 ou 2
&quot;*&quot;) continue;;
esac
done
# M'envoyer le résultat par mail
@ -134,14 +141,16 @@ echo &quot;$opinion&quot; | mail bourdieu
<p>Les deux scripts sont interprétés exactement de la même façon&nbsp;:
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&nbsp;:</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&nbsp;:</p>
<ul>
<li> les commentaires en rouge&nbsp;;</li>
@ -360,11 +369,44 @@ caract
echo &quot;Ce que je tape ici sera lu.&quot;
</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&nbsp;? Elles sont indispensables pour tout
programmeur, car elles lui permettent de «&nbsp;commenter&nbsp;» 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&nbsp;; 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&nbsp;;
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&nbsp;; et elles facilitent
considérablement la lecture pour un être humain.
</p>
<h3>L'impératif de lisibilité</h3>
@ -432,10 +474,8 @@ Exercice&nbsp;: 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&nbsp;:
La commande <code>echo</code> sert à afficher du texte. Chaque ligne de
texte est écrite sur une ligne à part. Exemple&nbsp;:
</p>
<pre>
@ -608,7 +648,7 @@ echo &quot;Les pattes, surtout la gauche.&quot;
<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&nbsp;:
pages suivantes&nbsp;:
</p>
<ul>
<li> <a href="entreesortie.html">entrée, sortie,
redirection</a>&nbsp;;</li>
<li> <a href="entreesortie.html">entrée, sortie, redirection</a>&nbsp;:
faire interagir les éléments du shell pour construire des programmes
évolués&nbsp;;</li>
<li> <a href="test.html">test et calcul arithmétique</a>&nbsp;;</li>
<li> <a href="test.html">test et calcul arithmétique</a>&nbsp;:
manipuler les valeurs de vrai et de faux pour orienter le parcours d'un
programme&nbsp;;</li>
<li> <a href="boucle.html">boucles et structures de
contrôle</a>&nbsp;;</li>
<li> <a href="boucle.html">boucles et structures de contrôle</a>&nbsp;:
maîtriser l'aiguillage d'un programme&nbsp;;</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>&nbsp;:
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&nbsp;: 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>

View file

@ -120,7 +120,7 @@ elles sont ex
<pre>
# Troisième cas
[ <strong>! -f</strong> foo ] <strong>&amp;&amp;</strong> echo &quot;Le fichier foo n'existe pas.
[ <strong>! -f</strong> foo ] <strong>&amp;&amp;</strong> echo &quot;Le fichier foo n'existe pas.&quot;
Le fichier foo n'existe pas.
</pre>
@ -132,7 +132,7 @@ code de retour est&nbsp;1, et les commandes sont ex
<pre>
# Quatrième cas
[ <strong>! -f</strong> foo ] <strong>||</strong> echo &quot;Le fichier foo existe.
[ <strong>! -f</strong> foo ] <strong>||</strong> echo &quot;Le fichier foo existe.&quot;
</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>