logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

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 → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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 18:56]
Hypathie [Quand les valeurs sont des paramètres]
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 =====
Ligne 250: Ligne 345:
 </​code>​ </​code>​
  
-  * **Mais avec la commande set qui fixe des paramètres ​de position:**+  * **Mais avec la commande set qui modifie provisoirement les paramètres :** 
 +Pour plus de détails sur la commande set voir : [[atelier:​chantier:​script-bash-detail-sur-les-parametres-et-les-boucles?&#​syntaxe-de-set]]
 <code bash> <code bash>
 #!/bin/bash #!/bin/bash
Ligne 297: Ligne 393:
 </​code>​ </​code>​
  
-====Récupérer la longueur d'une valeur de variable ====+=====Récupérer la longueur d'une valeur de variable=====
  
   * **Pour obtenir la longueur d'une chaîne stockée dans une variable, on écrit ${#VAR}.**   * **Pour obtenir la longueur d'une chaîne stockée dans une variable, on écrit ${#VAR}.**
Ligne 311: Ligne 407:
 FIXME FIXME
  
-====Substitutions de commande ====+ 
 + 
 +=====Substitutions de commande=====
  
 Permet de se servir de la sortie d'une commande dans un autre contexte pour ; Permet de se servir de la sortie d'une commande dans un autre contexte pour ;
Ligne 360: Ligne 458:
 echo $* echo $*
 </​code>​ </​code>​
 +
 +=====Typologie des variables =====
 +Comme nous l'​avons vu on peut affecter une variable par différents types de valeurs ; des chaînes de caractères,​ des nombres, des valeurs d'​autres variables, des substitutions de commandes.\\ ​
 +On dit pour cela quand bash les variables ne sont pas typées.\\
 +Mais il peut être intéressant de typer une variable. Pour ce faire, il faut utiliser des commandes internes à bash qui permettent de déclarer une variable typée.\\ ​  
doc/programmation/shells/script-bash-variables-arguments-parametres.txt · Dernière modification: 23/02/2023 02:20 par agp91

Pied de page des forums

Propulsé par FluxBB