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 Les deux révisions suivantes | ||
doc:programmation:shells:script-bash-variables-arguments-parametres [03/06/2014 17:15] Hypathie [script bash : variables, arguments, paramètres] |
doc:programmation:shells:script-bash-variables-arguments-parametres [03/06/2014 17:18] Hypathie [Déclaration nulle et modification par le script d'une valeur interne ou externe] |
||
---|---|---|---|
Ligne 170: | Ligne 170: | ||
</note> | </note> | ||
- | ===== Déclaration nulle et modification par le script d'une valeur interne ou externe===== | ||
- | **Pré-requis : utiliser les structures de contrôle** | ||
- | Voir : | ||
- | * **[[doc:programmation:shell:avancee#boucle-tant-que-while|boucle while]]** | ||
- | * **[[doc:programmation:shell:avancee#boucle-pour-tout-for|boucle for]]** | ||
- | * **[[doc:programmation:shell:avancee#selecteur-case|boucle case]]** | ||
- | |||
- | ====Modifier la variable d'une structure de contrôle par une valeur appelée dans le script==== | ||
- | <code> | ||
- | #!/bin/bash | ||
- | for i in "$@" | ||
- | do | ||
- | echo "Vous avez donné à la variable 'i' la valeur : $i." | ||
- | |||
- | if [ "$1" != "coucou" ] ; then | ||
- | echo "Le premier argument doit être 'coucou'." | ||
- | else | ||
- | echo "OK" | ||
- | if [ "$2" != "toi" ] ; then | ||
- | echo "Le deuxième paramètre doit être 'toi'." | ||
- | else | ||
- | echo "MERCI" | ||
- | fi | ||
- | fi | ||
- | done | ||
- | echo " " #pour sauter une ligne | ||
- | |||
- | echo $@ | ||
- | </code> | ||
- | |||
- | Ci-dessus, la variable i de la boucle prend tour à tour la valeur des paramètres passé au script depuis le terminal et la structure if teste si la chaîne du paramètre passé au script (valeur de la variable) correspond au motif voulu.\\ | ||
- | |||
- | ====Modifier une variable déclarée dans le script par une structure de contrôle==== | ||
- | |||
- | <code bash> | ||
- | #!/bin/bash | ||
- | set a b c | ||
- | echo "Avec 'shift', on se décale d'un paramètre à chaque boucle." | ||
- | | ||
- | for i in "$@" | ||
- | do | ||
- | i=$1 | ||
- | shift 1 | ||
- | echo "les paramètres sont : $1 :$2 :$3 ." | ||
- | done | ||
- | </code> | ||
- | Retour: | ||
- | |||
- | <code bash> | ||
- | Avec 'shift', on se décale d'un paramètre à chaque boucle. | ||
- | les paramètres sont : b :c : . | ||
- | les paramètres sont : c : : . | ||
- | les paramètres sont : : : . | ||
- | </code> | ||
===== Déclarer des paramètres de position : set===== | ===== Déclarer des paramètres de position : set===== |