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 Prochaine révision Les deux révisions suivantes | ||
doc:programmation:shells:debuter-avec-les-scripts-shell-bash [03/06/2014 14:03] Hypathie [D ) enchaînements de commandes dans les scripts] |
doc:programmation:shells:debuter-avec-les-scripts-shell-bash [03/06/2014 14:17] Hypathie [E ) État de sortie et les tests] |
||
---|---|---|---|
Ligne 679: | Ligne 679: | ||
Vous avez tout en mains pour comprendre ceci : [[doc:programmation:shell:avancee#selecteur-case|Fonctionnalités avancées du Shell: selecteur-case]] | Vous avez tout en mains pour comprendre ceci : [[doc:programmation:shell:avancee#selecteur-case|Fonctionnalités avancées du Shell: selecteur-case]] | ||
+ | ===if et les paramètres passés au script === | ||
+ | **La valeur (contenu) de la variable1 (var1) et de la variable2 (var2) peuvent être les arguments passés à un script. | ||
+ | Un script peut opérer un test sur les chaînes de caractères passées au script depuis le terminal.** | ||
+ | (Lancez "mon-script" successivement sans argument, puis un, deux trois, etc. arguments.) | ||
+ | <code> | ||
+ | #!/bin/bash | ||
+ | var1=$1 | ||
+ | var2=$2 | ||
+ | echo $1 | ||
+ | echo $2 | ||
+ | if [ $# == 1 ] ; then | ||
+ | echo "ERREUR: vous avez entré $@, mais il faut deux arguments !" | ||
+ | elif [ $# == 2 ] ; then | ||
+ | echo "Les deux arguments que vous avez entré sont $1 et $2" | ||
+ | elif [ $# == 0 ] ; then | ||
+ | echo "ERREUR: vous n'avez pas entré d'arguments, il en faut deux !" | ||
+ | fi | ||
+ | </code> | ||
+ | |||
+ | **Les chaînes testées par un script peuvent être aussi le contenu d'un fichier.**\\ | ||
+ | |||
+ | * Voir ce script : [[http://www.quennec.fr/linux/programmation-shell-sous-linux/les-bases-de-la-programmation-shell/ex%C3%A9cution-de-tests/la-5]] | ||
+ | |||
+ | **Dans ces deux cas les valeurs des variables que l'on testent, sont choisies depuis l'extérieur du script (le script est un processus fils du shell).**\\ | ||
+ | |||
+ | **Mais pour modifier la valeur d'une variable par 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.** | ||
=====F ) Valeurs d'une variable internes ou externes à un script===== | =====F ) Valeurs d'une variable internes ou externes à un script===== | ||