Corrigé 8
Prérequis
1. |
Le premier point exécute le script .bashrc dans le shell appelant (shell courant). Le second point indique le répertoire courant dans lequel se trouve actuellement l’utilisateur (chemin relatif). Enfin, le troisième point est en première position dans le nom de fichier, ce qui indique que ce fichier est masqué. |
|
2. |
a. |
Faux. Cette syntaxe provient du langage C. |
b. |
Faux. Comme la syntaxe précédente, celle-ci est utilisée en langage C. |
|
c. |
Vrai. Tout ce qui se trouve après le caractère # sur la ligne de commandes est ignoré par le Bash sauf si, bien sûr, celui-ci est protégé par un caractère de citation. |
|
d. |
Faux. Cette syntaxe est empruntée du langage HTML. |
|
3. |
a. |
Vrai. La valeur du code retour d’une commande qui s’est terminée correctement est zéro. |
b. |
Faux. Tout code retour ayant une valeur différente de zéro signifie que la commande a retourné une erreur. |
|
c. |
Faux. Comme précédemment, la valeur différente de zéro indique que la commande s’est mal terminée. |
|
d. |
Faux. Le code retour d’une commande a une valeur comprise entre 0 et 255. |
|
4. |
a. |
Vrai. |
b. |
Faux. -eq n’est pas un opérateur de la syntaxe (()). |
|
c. |
Vrai. La commande test et la syntaxe [] sont équivalentes. |
|
d. |
Faux. L’opérateur = teste l’égalité... |
Corrigé 8.1 Appel et exécution de scripts shell
1. |
Appuyez sur les touches [Ctrl]-[Alt]-[F3], puis :
|
2. |
|
3. |
|
4. |
La variable var n’est pas définie dans l’environnement courant car le script 01appel s’est exécuté dans un shell fils. |
5. |
Pour que le script shell puisse être invoqué de cette manière, il faut spécifier son chemin s’il n’est pas présent dans un des répertoires listés par la variable d’environnement PATH, et modifier ses droits pour le rendre exécutable. |
6. |
|
7. |
|
Corrigé 8.2 Code retour
1. |
Appuyez sur les touches [Ctrl]-[Alt]-[F3], puis :
|
2. |
|
Note
Un code retour égal à zéro indique que la commande s’est correctement terminée.
3. |
|
Note
Un code retour différent de zéro indique que la commande a retourné une erreur.
4. |
Ce code retour correspond à la commande echo précédente et indique que celle-ci s’est bien déroulée. |
5. |
Après modification du script, cela donne :
|
Corrigé 8.3 Enchaînement de commandes
1. |
|
Note
L’enchaînement de commandes avec le caractère ; est inconditionnel ; c’est-à-dire que la commande ls est exécutée quel que soit le code retour de la commande date.
2. |
|
3. |
|
Corrigé 8.4 Variables spéciales
1. |
Après création du fichier 02varspec, cela donne :
|
2. |
On constate bien que lors du troisième appel avec la commande . (point), le script shell 02varspec est interprété par le shell courant. |
3. |
|
Corrigé 8.5 Tests de fichiers
1. |
Après création du fichier 04fichier, cela donne :
|
2. |
|
Corrigé 8.6 Tests de chaînes de caractères
1. |
Après création du fichier 05chaine, cela donne :
|
2. |
|
Corrigé 8.7 Tests et opérations arithmétiques
1. |
Après création du fichier 06max, cela donne :
|
2. |
|
3. |
Après création du fichier 07min, cela donne :
|
4. |
|
5. |
Après création du fichier 08div, cela donne :
|
Corrigé 8.8 Scripts interactifs
1. |
Après création du fichier 09mult, cela donne :
|
2. |
|
Corrigé 8.9 Pour aller plus loin
1. |
Après création du fichier 10compar, cela donne :
|
2. |
|
3. |
Par exemple, avec l’outil graphique KDevelop : |