aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fichiers/03-grep-bash.tex14
-rw-r--r--fichiers/scripts/rah.sh8
2 files changed, 15 insertions, 7 deletions
diff --git a/fichiers/03-grep-bash.tex b/fichiers/03-grep-bash.tex
index 4f46a6b..774c49c 100644
--- a/fichiers/03-grep-bash.tex
+++ b/fichiers/03-grep-bash.tex
@@ -1077,7 +1077,7 @@ Votre fichier makefile compte 21 lignes.
1077\verb|until| exécute les instructions qui suivent jusqu'au moment où 1077\verb|until| exécute les instructions qui suivent jusqu'au moment où
1078le résultat du test associé à \verb|until| devient \emph{positif} 1078le résultat du test associé à \verb|until| devient \emph{positif}
1079(\emph{true}). Pour prendre un exemple très simple, le script suivant, 1079(\emph{true}). Pour prendre un exemple très simple, le script suivant,
1080que l'on appellera \verb|roar.sh|, demande combien de fois on souhaite 1080que l'on appellera \verb|rah.sh|, demande combien de fois on souhaite
1081tirer la queue d'un lion: 1081tirer la queue d'un lion:
1082\captionof{listing}{bash: comment faire rugir le lion?} 1082\captionof{listing}{bash: comment faire rugir le lion?}
1083\inputfile[linenos]{bash}{rah.sh} 1083\inputfile[linenos]{bash}{rah.sh}
@@ -1085,20 +1085,20 @@ tirer la queue d'un lion:
1085\begin{quoting} 1085\begin{quoting}
1086 \textbf{Commentaire:} 1086 \textbf{Commentaire:}
1087 \begin{enumerate} 1087 \begin{enumerate}
1088 \item La condition posée à la ligne~8 se comprend ainsi: 1088 \item La condition posée à la ligne~16 se comprend ainsi:
1089 \enquote{faites ce qui suit jusqu'à ce que le compteur de 1089 \enquote{faites ce qui suit jusqu'à ce que le compteur de
1090 rugissements atteigne une valeur supérieure à celle définie par 1090 rugissements atteigne une valeur supérieure à celle définie par
1091 l'utilisateur. Si la valeur est supérieure, sortez de la boucle.} 1091 l'utilisateur. Si la valeur est supérieure, sortez de la boucle.}
1092\item À la ligne~11, on demande à \emph{bash} d'attendre une seconde. 1092\item À la ligne~19, on demande à \emph{bash} d'attendre une seconde.
1093\item À la ligne~12, on incrémente de 1 la valeur du compteur de 1093\item À la ligne~20, on incrémente de 1 la valeur du compteur de
1094 rugissements (voir ci-dessus le \vref{lst:countlines}, l.~15), puis 1094 rugissements (voir ci-dessus le \vref{lst:countlines}, l.~15), puis
1095 on reprend la boucle à la ligne~8. 1095 on reprend la boucle à la ligne~16.
1096 \end{enumerate} 1096 \end{enumerate}
1097\end{quoting} 1097\end{quoting}
1098 1098
1099Exécution du script \verb|roar.sh|: 1099Exécution du script \verb|rah.sh|:
1100\begin{minted}{text} 1100\begin{minted}{text}
1101[robert@kiddo courses]$ ./roar.sh 1101[robert@kiddo courses]$ ./rah.sh
1102Combien de fois tirez-vous la queue du lion? 3 1102Combien de fois tirez-vous la queue du lion? 3
1103Raaaaaaaaahhhhhhhhhhhh! (1) 1103Raaaaaaaaahhhhhhhhhhhh! (1)
1104Raaaaaaaaahhhhhhhhhhhh! (2) 1104Raaaaaaaaahhhhhhhhhhhh! (2)
diff --git a/fichiers/scripts/rah.sh b/fichiers/scripts/rah.sh
index 9219e0a..20a52db 100644
--- a/fichiers/scripts/rah.sh
+++ b/fichiers/scripts/rah.sh
@@ -2,6 +2,14 @@
2 2
3read -p 'Combien de fois tirez-vous la queue du lion? ' rahtimes 3read -p 'Combien de fois tirez-vous la queue du lion? ' rahtimes
4 4
5isnum='^[0-9]+$'
6
7if ! [[ $rahtimes =~ $isnum ]]
8 then
9 echo "Erreur: il faut saisir un chiffre."
10 exit 1
11fi
12
5# Définition du compteur de rugissements: 13# Définition du compteur de rugissements:
6rah=1 14rah=1
7 15