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:debuter-avec-les-scripts-shell-bash [28/05/2014 15:42] Hypathie [Créer des paramètres de position : la commande set + argument(s)] |
doc:programmation:shells:debuter-avec-les-scripts-shell-bash [28/05/2014 16:05] Hypathie [Créer des paramètres de position : la commande set + argument(s)] |
||
---|---|---|---|
Ligne 394: | Ligne 394: | ||
echo "bonjour $USER !" | echo "bonjour $USER !" | ||
</code> | </code> | ||
- | =====Créer des paramètres de position : la commande set + argument(s)===== | + | =====Créer des paramètres de position : la commande set ===== |
À savoir : variables de substitution prédéfinies [[atelier:chantier:bash-les-differents-caracteres-speciaux?&#variables-de-substitution-predefinies-principalement-dans-les-scripts]] | À savoir : variables de substitution prédéfinies [[atelier:chantier:bash-les-differents-caracteres-speciaux?&#variables-de-substitution-predefinies-principalement-dans-les-scripts]] | ||
Ligne 470: | Ligne 470: | ||
</code> | </code> | ||
- | **=>un paramètre n'est pas une variable ; tous les paramètres de position sont ré-initialisés dès que set pose un nouvel argument tandis qu'il ne réinitialise pas une variable déjà créée.** | + | * **=> dans un script, contrairement à la valeur d'une variable, la valeur d'un paramètre de position créé avec set est ré-initialisé dès que set pose un nouvel paramètre de position, tandis qu'il est possible de déclarer une nouvelle variable au sein d'un même script.** |
- | * ** De même, set-- annule tous les paramètres initialisés (et non pas la ou les variable(s)) par affectation directe ou par une structure conditionnelle).** | + | * ** De même, set-- annule tous les paramètres position initialisés précédemment dans le script.** |
<note > | <note > | ||
*Sans argument la commande set affiche TOUS les noms et TOUTES les valeurs des variables pré-définies (celles du script qui l'appelle aussi). Mais elle n'enregistre pas une valeur d'un valeur non-déclarée ! FIXME\\ | *Sans argument la commande set affiche TOUS les noms et TOUTES les valeurs des variables pré-définies (celles du script qui l'appelle aussi). Mais elle n'enregistre pas une valeur d'un valeur non-déclarée ! FIXME\\ | ||
Ligne 512: | Ligne 512: | ||
====Déclaration de la valeur d'une variable avec une structure conditionnelle ==== | ====Déclaration de la valeur d'une variable avec une structure conditionnelle ==== | ||
- | **La valeur du paramètre d'une conditionnelle est pointée par cette conditionnelle sans sans forcément être nommé.** | + | **La valeur du paramètre d'une conditionnelle est pointée par cette conditionnelle sans forcément être nommé.** |
(Lancez "mon-script" successivement sans argument, puis un, deux trois, etc. arguments.) | (Lancez "mon-script" successivement sans argument, puis un, deux trois, etc. arguments.) | ||
<code> | <code> | ||
Ligne 529: | Ligne 529: | ||
</code> | </code> | ||
- | **Mais la valeur des paramètres d'une conditionnelle peut être "nommé" du nom de la variable "i" d'une boucle quiprend tour à tour la valeur de chacun des paramètres de position.** | + | **Mais la valeur des paramètres d'une conditionnelle peut être "nommé" du nom de la variable "i" d'une boucle qui prend tour à tour la valeur de chacun des paramètres de position.** |
<code> | <code> | ||
Ligne 552: | Ligne 552: | ||
echo $@ | echo $@ | ||
</code> | </code> | ||
- | =====Créer des paramètres de position : les tableaux===== | + | |
+ | ** On peut faire passer une boucle par des paramètres de position et faire prendre à sa variable tour à tour la valeur de ces paramètres de position.**\\ | ||
+ | **Mais contrairement au script précédent, on ne peut alors plus ajouter des paramètres de l'extérieur du script, depuis le terminal en ajoutant des arguments après le nom du script.** | ||
+ | |||
+ | =====Créer des variables : les tableaux===== | ||
Les variables de chaque case d'un tableau, ont elles aussi une position définie par l'utilisateur, ou automatiquement lors de la création du tableau.\\ | Les variables de chaque case d'un tableau, ont elles aussi une position définie par l'utilisateur, ou automatiquement lors de la création du tableau.\\ | ||
Pour plus de précision sur la création et l'utilisation de tableau dans les scripts voir ici : [[atelier:chantier:page-man-bash-v-les-tableaux]] | Pour plus de précision sur la création et l'utilisation de tableau dans les scripts voir ici : [[atelier:chantier:page-man-bash-v-les-tableaux]] | ||
+ | |||
=====Variable et substitution de commandes ===== | =====Variable et substitution de commandes ===== | ||
*$( ) | *$( ) |