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:script-bash-variables-arguments-parametres [03/06/2014 17:19] Hypathie [Déclarer des paramètres de position : set] |
doc:programmation:shells:script-bash-variables-arguments-parametres [03/06/2014 18:28] Hypathie [Quand les valeurs sont des paramètres] |
||
---|---|---|---|
Ligne 14: | Ligne 14: | ||
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 ! | ||
- | ===== Création de variables ===== | + | ====== Création de variables ====== |
En liens nécessaires : \\ | En liens nécessaires : \\ | ||
[[doc:programmation:shell:shell#variables-et-environnement|Le shell pour tous : "Variables et environnement"]]\\ | [[doc:programmation:shell:shell#variables-et-environnement|Le shell pour tous : "Variables et environnement"]]\\ | ||
Ligne 170: | Ligne 170: | ||
</note> | </note> | ||
+ | =====Quand les valeurs sont des paramètres ===== | ||
+ | ====Les paramètres de positions ==== | ||
+ | Lorsqu'on ajoute un argument au script avant son exécution, on peut alors récupérer la valeur de ce paramètre.\\ | ||
+ | |||
+ | * **Pour récupérer chaque paramètre : $1 ; $2 ; $3** etc. | ||
+ | |||
+ | * **Pour récupérer tous les paramètres : $@** | ||
+ | |||
+ | EXEMPLES : soit le script "essai.sh" | ||
+ | <code bash> | ||
+ | #!/bin/bash | ||
+ | var=Bonjour | ||
+ | echo $var | ||
+ | echo "$1" | ||
+ | echo "$2" | ||
+ | echo "$3" | ||
+ | echo "ou le paramètre 1 est: $1, le deuxième est: $2, le troisième est : $3" | ||
+ | echo " " | ||
+ | echo "tous les paramètres $@" | ||
+ | </code> | ||
+ | ET | ||
+ | <code user> | ||
+ | ./essai.sh a b c | ||
+ | </code> | ||
+ | |||
+ | Retour: | ||
+ | <code> | ||
+ | Bonjour # on peut récupérer une valeur (ou des valeurs) déclarée(s) et les paramètres de position | ||
+ | a | ||
+ | b | ||
+ | c | ||
+ | ou le paramètre 1 est: a, le deuxième est: b, le troisième est : c | ||
+ | |||
+ | tous les paramètres a b c | ||
+ | </code> | ||
+ | |||
+ | * **Tous les arguments passés au scripts $* et $@ sont synonymes** | ||
+ | <code bash> | ||
+ | #!/bin/bash | ||
+ | echo $1 | ||
+ | echo $* | ||
+ | echo $@ | ||
+ | echo $# | ||
+ | </code> | ||
+ | ET | ||
+ | <code user> | ||
+ | ./essai.sh bonjour à tous | ||
+ | </code> | ||
+ | retour : | ||
+ | |||
+ | <code> | ||
+ | bonjour | ||
+ | bonjour à tous | ||
+ | bonjour à tous | ||
+ | 3 | ||
+ | </code> | ||
+ | |||
+ | * **de même pour $* et $@ :** | ||
+ | <code bash> | ||
+ | #!/bin/bash | ||
+ | echo $1 | ||
+ | echo $* | ||
+ | echo $@ | ||
+ | echo $# | ||
+ | </code> | ||
+ | ET | ||
+ | <code user> | ||
+ | ./essai.sh "bonjour à tous" | ||
+ | </code> | ||
+ | retour : | ||
+ | |||
+ | <code> | ||
+ | bonjour à tous | ||
+ | bonjour à tous | ||
+ | bonjour à tous | ||
+ | 1 | ||
+ | </code> | ||
+ | |||
+ | * **Mais avec la commande set qui fixe des paramètres de position:** | ||
+ | <code bash> | ||
+ | #!/bin/bash | ||
+ | set "bonjour à tous" | ||
+ | echo $* | ||
+ | echo $@ | ||
+ | echo $1 | ||
+ | echo $# | ||
+ | </code> | ||
+ | |||
+ | <code user> | ||
+ | ./essai.sh | ||
+ | </code> | ||
+ | |||
+ | Retour : | ||
+ | <code > | ||
+ | bonjour à tous | ||
+ | bonjour à tous | ||
+ | bonjour à tous | ||
+ | 1 | ||
+ | </code> | ||
+ | |||
+ | OU ENCORE : | ||
+ | |||
+ | <code> | ||
+ | #!/bin/bash | ||
+ | set bonjour à tous | ||
+ | echo $* | ||
+ | echo $@ | ||
+ | echo $1 | ||
+ | echo $# | ||
+ | </code> | ||
+ | |||
+ | <code user> | ||
+ | ./essai.sh | ||
+ | </code> | ||
+ | |||
+ | Retour : | ||
+ | |||
+ | <code > | ||
+ | bonjour à tous | ||
+ | bonjour à tous | ||
+ | bonjour | ||
+ | 3 | ||
+ | |||
+ | </code> | ||
+ | |||
+ | ====Récupérer la longueur d'un paramètre ou d'une valeur de variable ==== | ||
+ | |||
+ | * **Pour obtenir la longueur d'une chaîne stockée dans une variable, on écrit ${#VAR}.** | ||
+ | |||
+ | Exemples : |