Variables d’environnement et portée
Les variables avec Unix permettent de personnaliser l’environnement ou de paramétrer des scripts shell.
Elles sont en général notées en majuscule et on utilise pour les nommer des caractères alphanumériques simples.
L’assignation de valeurs se fait avec '=‘ (sans espace !) et avec des cotes pour les chaines.
l’opérateur ‘$’ sert à évaluer la valeur de la variable.
$> MA_VARIABLE=’une_valeur’
$> echo $MA_VARIABLE
une_valeur
$> # et si on oublie le ‘$’
$> echo MA_VARIABLE
MA_VARIABLE
Dans le meme ordre d’idée si on veut affecter une variable par la valeur d’une autre, on n’oubliera pas le $ pour récupérer la valeur :
$> Y=1
$> echo $Y
1
$> X=2
$> Y=X
$> echo $Y
X
$> Y=$X
$> echo $Y
2
$> # et si on va plus loin…
$> $Y=$X
erreur : commande inconnue
$> # car on ne peut pas affecter une valeur de variable …à une constante
$> # de la meme facon que
2
erreur : commande inconnue
Attention les variables ont par défaut une portée limitée au shell qui les a défini !!
$> MA_VARIABLE=’toto’
$> echo $MA_VARIABLE
toto
$> bash #declenche un sous Shell
$> echo $MA_VARIABLE
$>
$> exit
$> echo $MA_VARIABLE
toto
La commande ‘export’ permet de rendre les variables globales, et ainsi de les rendre visibles aux sous Shells éventuels
$> export MA_VARIABLE=’toto’
$> echo $MA_VARIABLE
toto
$> bash #declenche un sous Shell
$> echo $MA_VARIABLE
toto
Exercice sur les variables
Vérifiez la valeur de la variable PATH
notez le séparateur de chemins
ecrivez un script bonjour.sh qui affiche bonjour
verifiez qu’on ne peut l’executer sans spécifier le répertoire courant
changez la valeur de PATH en ajoutant ‘.’ au debut du PATH
re testez bonjour.sh
de la meme facon mettez le ‘.’ a la fin du PATH
…et retestez.
Table des matières « Cours Unix Utilisateur a dit
[...] personnalise – variables d’environnement – gestion de [...]