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 [07/07/2014 16:41] Hypathie [Création, suppression, exportation de variables] |
doc:programmation:shells:script-bash-variables-arguments-parametres [07/07/2014 16:55] Hypathie [Création, suppression, exportation de variables] |
||
---|---|---|---|
Ligne 169: | Ligne 169: | ||
<note> | <note> | ||
- | **Les options de read les plus intéressantes.** | + | Les options de read les plus intéressantes. |
* -p : afficher un message | * -p : afficher un message | ||
* -n : limiter le nombre de caractères | * -n : limiter le nombre de caractères | ||
* -t : limiter le temps autorisé pour saisir un message | * -t : limiter le temps autorisé pour saisir un message | ||
* -s : ne pas afficher le texte saisi | * -s : ne pas afficher le texte saisi | ||
- | par exemple: | + | On peut utiliser plusieurs options. Par exemple: |
- | read -p "entrez votre de naissance (deux derniers chiffres): " -n 2 annee | + | <code user> |
+ | read -p "entrez votre année de naissance (deux derniers chiffres): " -n 2 annee | ||
+ | </code> | ||
</note> | </note> | ||
- | ====3) Modification de la valeur d'une variable et protection ==== | + | ====Modification de la valeur d'une variable ==== |
- | + | ||
- | ===Modification=== | + | |
Pour modifier la valeur d'une variable, il suffit de l'affecter d'une nouvelle valeur. | Pour modifier la valeur d'une variable, il suffit de l'affecter d'une nouvelle valeur. | ||
Ligne 202: | Ligne 202: | ||
</code> | </code> | ||
- | ===protection : "readonly" === | + | ====Protection de variable : "readonly" ==== |
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. | 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. | ||
Ligne 282: | Ligne 282: | ||
</note> | </note> | ||
- | * On peut exporter depuis le terminal, une valeur pour remplacer provisoirement celle d'un script. | + | * On peut exporter depuis le terminal, une valeur pour remplacer provisoirement une variable d'un script. |
<code user> | <code user> | ||
Coucou="Bonjour" | Coucou="Bonjour" | ||
Ligne 306: | Ligne 306: | ||
</code> | </code> | ||
- | >La valeur de la variable "Coucou" est exporté au script "test.sh" pour le shell courant. | + | >La valeur de la variable "Coucou" est exporté et peut valoir pour le script "test.sh" |
- | >C'est-à-dire, tant que le terminal n'est pas réinitialisé. | + | >qui devient le processus fils du shell courant, à condition que ce script contienne |
- | >Une fois le terminal réinitialisé, si on lance ./test.sh, ce script est le processus | + | >une variable de même nom (Coucou= ) que celle exportée. |
- | >fils de ce "nouveau" processus père (= le nouveau terminal) qui n'a plus en mémoire | + | >Mais une fois le terminal réinitialisé, si on lance ./test.sh, ce script est le |
- | >la valeur "Bonjour" pour la variable vide "Coucou". | + | >processus fils de ce "nouveau" processus père (= le nouveau terminal) qui n'a plus |
- | Et dans ce cas : | + | > en mémoire la valeur "Bonjour" pour la variable vide "Coucou". |
+ | >Et dans ce cas : | ||
<code user> | <code user> | ||
./test.sh | ./test.sh | ||
</code> | </code> | ||
- | ne renverra plus : | ||
- | <code> | ||
- | Coucou="Bonjour" | ||
- | </code> | ||
- | |||
- | mais : | ||
<code> | <code> | ||
Ligne 328: | Ligne 323: | ||
<note> | <note> | ||
Pour réinitialiser son terminal,\\ | Pour réinitialiser son terminal,\\ | ||
- | il suffit de fermer et de le ré-ouvrir | + | il suffit de fermer et de le ré-ouvrir\\ |
- | ou de rechercher son fichier ~/.bashrc : | + | ou de recharger son fichier ~/.bashrc : |
<code user> | <code user> | ||
source ~/.bashrc | source ~/.bashrc | ||
Ligne 339: | Ligne 334: | ||
. ~/.bashrc | . ~/.bashrc | ||
</code> | </code> | ||
- | |||
</note> | </note> | ||
=====Quand les valeurs sont des paramètres ===== | =====Quand les valeurs sont des paramètres ===== |