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 [04/06/2014 06:28] Hypathie [Substitutions de commande] |
doc:programmation:shells:script-bash-variables-arguments-parametres [04/06/2014 07:18] Hypathie [Création de variables] |
||
---|---|---|---|
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, suppression, exportation 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 169: | Ligne 169: | ||
read -p "entrez votre de naissance (deux derniers chiffres): " -n 2 annee | read -p "entrez votre de naissance (deux derniers chiffres): " -n 2 annee | ||
</note> | </note> | ||
+ | ====Modification de la valeur d'une variable et protection ==== | ||
+ | ===Modification=== | ||
+ | Pour modifier la valeur d'une variable, il suffit de l'affecter d'une nouvelle valeur. | ||
+ | <code bash> | ||
+ | #!/bin/bash | ||
+ | var1=bonjour | ||
+ | echo $var1 | ||
+ | var1=23 | ||
+ | echo $var1 | ||
+ | var1= | ||
+ | echo $var1 | ||
+ | var1=Bonjour | ||
+ | echo $var1 | ||
+ | </code> | ||
+ | |||
+ | Retour : | ||
+ | <code> | ||
+ | bonjour | ||
+ | 23 | ||
+ | |||
+ | Bonjour | ||
+ | </code> | ||
+ | ===proctection : redonly === | ||
+ | On protège une variable avec la commande readonly. La variable devient alors "une variable en lecture seule". Cela lui donne la caractéristique d'être figée : on ne peut plus alors, au cours du même script, réaffectée par une nouvelle valeur une même variable, y compris si cette variable a été déclarée vide. | ||
+ | <code bash> | ||
+ | #!/bin/bash | ||
+ | var1=toto | ||
+ | var2= | ||
+ | echo "$var1 $var2" | ||
+ | readonly var1 var2 | ||
+ | var1=titi | ||
+ | var2=titi | ||
+ | unset var1 var2 | ||
+ | </code> | ||
+ | Retour : | ||
+ | |||
+ | <code> | ||
+ | toto | ||
+ | ligne6: var1 : variable en lecture seule | ||
+ | ligne7: var2 : variable en lecture seule | ||
+ | ligne 8 : unset: var1 : « unset » impossible : variable est en lecture seule | ||
+ | ligne 8 : unset: var2 : « unset » impossible : variable est en lecture seule | ||
+ | </code> | ||
+ | |||
+ | ====Suppression de variable : unset==== | ||
+ | Soit le script "essai.sh" : passons à ce script l'argument "vous" | ||
+ | |||
+ | <code bash> | ||
+ | #!/bin/bash | ||
+ | var1=coucou | ||
+ | var2=$1 | ||
+ | echo "$var1 $var2" | ||
+ | unset var2 | ||
+ | echo "$var1 $var2" | ||
+ | var1=$1 | ||
+ | var2=vous | ||
+ | echo "$var1 $var2" | ||
+ | unset var2 | ||
+ | echo "$var1 $var2" | ||
+ | </code> | ||
+ | |||
+ | Retour : | ||
+ | |||
+ | <code> | ||
+ | #!/bin/bash | ||
+ | var1=yep | ||
+ | var2=coucou | ||
+ | echo "$var1 $var2" | ||
+ | unset var2 | ||
+ | echo "$var1 $var2" | ||
+ | echo " " | ||
+ | echo "mais pour un paramètre :" | ||
+ | echo " " | ||
+ | var1=yep | ||
+ | var2=coucou | ||
+ | var3=$1 | ||
+ | echo "$var1 $var2 $var3" | ||
+ | unset var2 var3 | ||
+ | echo "$var1 $var2 $var3" | ||
+ | var2= | ||
+ | var3=$1 | ||
+ | echo "$var1 $var2 $var3" | ||
+ | </code> | ||
+ | Retour : | ||
+ | |||
+ | <code bash> | ||
+ | yep coucou | ||
+ | yep | ||
+ | |||
+ | mais pour un paramètre : | ||
+ | |||
+ | yep coucou vous | ||
+ | yep | ||
+ | yep vous | ||
+ | </code> | ||
=====Quand les valeurs sont des paramètres ===== | =====Quand les valeurs sont des paramètres ===== |