diff options
author | Robert Alessi <alessi@robertalessi.net> | 2018-09-27 19:02:18 +0200 |
---|---|---|
committer | Robert Alessi <alessi@robertalessi.net> | 2018-09-27 19:02:18 +0200 |
commit | 589e08742446243a14c2cec8db4a0d036b8df288 (patch) | |
tree | 7ff6a8032b423db5e7dae4b4c515d7499932dc33 | |
parent | 76b155233eb209fadb8cc5c07eeac385ea4ae260 (diff) | |
download | courses-589e08742446243a14c2cec8db4a0d036b8df288.tar.gz |
added a test in rah.sh
-rw-r--r-- | fichiers/03-grep-bash.tex | 14 | ||||
-rw-r--r-- | fichiers/scripts/rah.sh | 8 |
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ù |
1078 | le résultat du test associé à \verb|until| devient \emph{positif} | 1078 | le 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, |
1080 | que l'on appellera \verb|roar.sh|, demande combien de fois on souhaite | 1080 | que l'on appellera \verb|rah.sh|, demande combien de fois on souhaite |
1081 | tirer la queue d'un lion: | 1081 | tirer 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 | ||
1099 | Exécution du script \verb|roar.sh|: | 1099 | Exé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 |
1102 | Combien de fois tirez-vous la queue du lion? 3 | 1102 | Combien de fois tirez-vous la queue du lion? 3 |
1103 | Raaaaaaaaahhhhhhhhhhhh! (1) | 1103 | Raaaaaaaaahhhhhhhhhhhh! (1) |
1104 | Raaaaaaaaahhhhhhhhhhhh! (2) | 1104 | Raaaaaaaaahhhhhhhhhhhh! (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 | ||
3 | read -p 'Combien de fois tirez-vous la queue du lion? ' rahtimes | 3 | read -p 'Combien de fois tirez-vous la queue du lion? ' rahtimes |
4 | 4 | ||
5 | isnum='^[0-9]+$' | ||
6 | |||
7 | if ! [[ $rahtimes =~ $isnum ]] | ||
8 | then | ||
9 | echo "Erreur: il faut saisir un chiffre." | ||
10 | exit 1 | ||
11 | fi | ||
12 | |||
5 | # Définition du compteur de rugissements: | 13 | # Définition du compteur de rugissements: |
6 | rah=1 | 14 | rah=1 |
7 | 15 | ||