Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
doc:programmation:shells:script-bash-etat-de-sorie-et-les-tests [19/10/2015 13:14] milou [État de sortie et les tests] |
doc:programmation:shells:script-bash-etat-de-sorie-et-les-tests [22/10/2015 18:39] (Version actuelle) milou [La suite c'est ici] |
||
---|---|---|---|
Ligne 8: | Ligne 8: | ||
* Création par [[user>Hypathie]] le 18/03/2014 | * Création par [[user>Hypathie]] le 18/03/2014 | ||
* Testé par [[user>Hypathie]] le Juin 2014 | * Testé par [[user>Hypathie]] le Juin 2014 | ||
- | * Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?pid=92203#p92203 | Lien vers le forum concernant ce tuto]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) | + | * Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?pid=142600#p142600 | Lien vers le forum concernant ce tuto]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) |
Contributeurs, les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli ! | Contributeurs, les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli ! | ||
- | |||
- | ------ | ||
**Nota : Les autres wiki :** | **Nota : Les autres wiki :** | ||
Ligne 21: | Ligne 19: | ||
* [[doc:programmation:shells:script-bash-enchainement-de-commandes-et-etat-de-sortie|script-bash-enchainement-de-commandes-et-etat-de-sortie]] | * [[doc:programmation:shells:script-bash-enchainement-de-commandes-et-etat-de-sortie|script-bash-enchainement-de-commandes-et-etat-de-sortie]] | ||
* ;-) | * ;-) | ||
- | * [[doc:programmation:bash:script:tableaux|script-bash-les-tableaux]] | + | * [[doc:programmation:shells:tableaux|script-bash-les-tableaux]] |
- | * [[doc:programmation:bash:script:fonction|script-bash-les-fonctions]] | + | * [[doc:programmation:shells:fonction|script-bash-les-fonctions]] |
Ligne 68: | Ligne 66: | ||
Soit le dossier "Mon-dossier" non-vide; le dossier "mon-dossier" vide; et le dossier "mondossier" inexistant. | Soit le dossier "Mon-dossier" non-vide; le dossier "mon-dossier" vide; et le dossier "mondossier" inexistant. | ||
- | <code bash> | + | <code bash script> |
#!/bin/bash | #!/bin/bash | ||
cd ~/Mon-dossier && ls # => titi toto | cd ~/Mon-dossier && ls # => titi toto | ||
Ligne 126: | Ligne 124: | ||
* Exemples : | * Exemples : | ||
Dans ce script, puisque la correspondance est juste, la commande "exit 1" est exécutée, et on sort du programme. | Dans ce script, puisque la correspondance est juste, la commande "exit 1" est exécutée, et on sort du programme. | ||
- | <code bash> | + | <code bash mon-script> |
var=bonjour | var=bonjour | ||
if [ $var == bonjour ] ; then | if [ $var == bonjour ] ; then | ||
Ligne 151: | Ligne 149: | ||
==="exit" force à sortir du programme=== | ==="exit" force à sortir du programme=== | ||
- | <code bash> | + | <code bash script> |
#!/bin/bash | #!/bin/bash | ||
var=bonjour | var=bonjour | ||
Ligne 173: | Ligne 171: | ||
==="exit" et les paramètres passés au script === | ==="exit" et les paramètres passés au script === | ||
Lançons ce script avec aucun argument ou un autre que "a". | Lançons ce script avec aucun argument ou un autre que "a". | ||
- | <code bash> | + | <code bash script> |
#!/bin/bash | #!/bin/bash | ||
if [[ $1 == a ]] ; then | if [[ $1 == a ]] ; then | ||
Ligne 192: | Ligne 190: | ||
>Si on ne finit pas par ''exit 0'', il s'exécute un ''exit $?'' par défaut, ce qui est équivalent à un ''exit'' (tout court). | >Si on ne finit pas par ''exit 0'', il s'exécute un ''exit $?'' par défaut, ce qui est équivalent à un ''exit'' (tout court). | ||
- | <code bash> | + | <code bash script> |
#!/bin/bash | #!/bin/bash | ||
var=bonjour | var=bonjour | ||
Ligne 221: | Ligne 219: | ||
<note tip> | <note tip> | ||
**Attention au signe ''=''** | **Attention au signe ''=''** | ||
- | Ne pas confondre le signe ''='' de l'affectation d'une variable par une valeur (voir ci-dessus [[atelier:chantier:debuter-avec-les-scripts-shell-bash#affectation-directe|affectation directe]])\\ avec l'opérateur de correspondance ''='' (ou ''=='' ) utilisé dans les tests.\\ | + | Ne pas confondre le signe ''='' de l'affectation d'une variable par une valeur (voir ci-dessus [[doc:programmation:shells:debuter-avec-les-scripts-shell-bash#affectation-directe|affectation directe]])\\ avec l'opérateur de correspondance ''='' (ou ''=='' ) utilisé dans les tests.\\ |
Dans les tests sur les entiers l'égalité est représentée par l'option ''-eq'' ! | Dans les tests sur les entiers l'égalité est représentée par l'option ''-eq'' ! | ||
</note> | </note> | ||
Ligne 230: | Ligne 228: | ||
* séquentielle : ''cmd1 ; cmd2'' | * séquentielle : ''cmd1 ; cmd2'' | ||
+ | |||
* parallèle : ''cmd1 & cmd2'' | * parallèle : ''cmd1 & cmd2'' | ||
+ | |||
* sur erreur (ou) : ''cmd1 || cmd2'' | * sur erreur (ou) : ''cmd1 || cmd2'' | ||
+ | |||
* sur succès (et) : ''cmd1 && cmd2'' | * sur succès (et) : ''cmd1 && cmd2'' | ||
* rappel des options des commandes de test : | * rappel des options des commandes de test : | ||
- ''-z $chaine'' : teste si la variable ne contient rien | - ''-z $chaine'' : teste si la variable ne contient rien | ||
+ | |||
- ''-n $chaine'' : teste si la variable contient quelque-chose | - ''-n $chaine'' : teste si la variable contient quelque-chose | ||
- | <code bash> | + | <code bash script> |
#!/bin/bash | #!/bin/bash | ||
#var3 est nulle, non déclarée, (ou non initialisée) : sa valeur est nulle | #var3 est nulle, non déclarée, (ou non initialisée) : sa valeur est nulle | ||
Ligne 290: | Ligne 292: | ||
- esac pour finir. | - esac pour finir. | ||
* exemple : | * exemple : | ||
- | <code bash> | + | <code bash script> |
#!/bin/bash | #!/bin/bash | ||
# passer le paramètre 'coco' à ce script ; puis 'cucu' ; titi puis toto, puis celui que voulez. | # passer le paramètre 'coco' à ce script ; puis 'cucu' ; titi puis toto, puis celui que voulez. | ||
Ligne 320: | Ligne 322: | ||
Ci-dessous, les valeurs de la variable1 (var1) et de la variable2 (var2) peuvent être les arguments passés au script. | Ci-dessous, les valeurs de la variable1 (var1) et de la variable2 (var2) peuvent être les arguments passés au script. | ||
//(Lancez "mon-script" successivement sans argument, puis un, deux trois, etc. arguments.)// | //(Lancez "mon-script" successivement sans argument, puis un, deux trois, etc. arguments.)// | ||
- | <code> | + | <code bash script> |
#!/bin/bash | #!/bin/bash | ||
var1=$1 | var1=$1 | ||
Ligne 339: | Ligne 341: | ||
Avec la structure conditionnelle if, on peut aussi faire des tests sur la (les) valeur(s) déclarée(s) dans le script. | Avec la structure conditionnelle if, on peut aussi faire des tests sur la (les) valeur(s) déclarée(s) dans le script. | ||
- | <code bash> | + | <code bash script> |
#!/bin/bash | #!/bin/bash | ||
var1=23 | var1=23 | ||
Ligne 369: | Ligne 371: | ||
Pour modifier la valeur d'une variable d'un script (que le script appelle une valeur extérieure; chaîne de caractère donnée par le terminale, récupération du résultat d'une commande, contenu d'un fichier, etc. ou que cette variable soit affectée dans le script lui-même) on utilise les boucles [[doc:programmation:shell:avancee#boucle-tant-que-while|while]] et [[doc:programmation:shell:avancee#boucle-pour-tout-for|for]].\\ | Pour modifier la valeur d'une variable d'un script (que le script appelle une valeur extérieure; chaîne de caractère donnée par le terminale, récupération du résultat d'une commande, contenu d'un fichier, etc. ou que cette variable soit affectée dans le script lui-même) on utilise les boucles [[doc:programmation:shell:avancee#boucle-tant-que-while|while]] et [[doc:programmation:shell:avancee#boucle-pour-tout-for|for]].\\ | ||
- | On peut aussi modifier la valeur d'une variable d'un script, en exportant depuis le terminal une nouvelle valeur (voir [[atelier:chantier:script-bash-variables-arguments-parametres#exportation-de-la-valeur-d-une-variable|"export"]] ) | + | On peut aussi modifier la valeur d'une variable d'un script, en exportant depuis le terminal une nouvelle valeur (voir [[doc:programmation:shells:script-bash-variables-arguments-parametres#exportation-de-la-valeur-d-une-variable|"export"]] ) |
</note> | </note> | ||
=====La suite c'est ici===== | =====La suite c'est ici===== | ||
- | [[doc:programmation:bash:script:tableaux|script-bash-les-tableaux]] | + | [[doc:programmation:shells:tableaux|script-bash-les-tableaux]] |