Ceci est une ancienne révision du document !


~~CLOSETOC~~

Variables, Redirection des flux

Les variables utilisateur (généralement appelée variables, les autres types étant systématique précisé) sont les variables définies par les utilisateurs manuellement ou au travers d'un script. Elles n'ont d'existence que dans le contexte (script ou session) où elles sont créées. On les distingue alors des variables système ou les variables d'environnement.

  • Les variables sont définie par leur nom est une valeur leur est affecté avec = :

# On définie une variable nommé AGE dont la valeur est 99
AGE=99

  • Les variables définies peuvent alors être appelées grâce à $ :

echo "l'âge est $AGE"
# Retour console
l'âge est 99

  • Dans certains cas, une ambiguïté peut apparaître, bash n'étant pas capable de déterminer le où se termine le nom de la variable. Dans ces cas, on peut utiliser {} pour délimiter le nom de la variable :

# Exemple 1

# On définie une durée
MINUTES=10
# On affiche la durée
echo "Durée : $MINUTESm"
# Retour console
Durée :

# $MINUTESm a été considéré comme une variable par bash et non comme une variable suivie d'un caractère.
# La variable n'ayant pas été définie au préalable, il n'y a eu aucun affichage.

# Exemple 2

# On définie une durée
MINUTES=10
# On affiche la durée
echo "Durée : ${MINUTES}m"
# Retour console
Durée : 10m

# Cette fois-ci, la variable $MINUTE a bien était interprétée.

  • Une variable contient généralement 4 types de valeurs mais ce type n'est pas figé :
    • Nombre : définie par une valeur numérique. La séparation décimale est le ..
    • Commande : définie par $() ou ``. Le contenu entre parenthèses (ou back-quote) est exécuté et le résultat de la commande est stocké dans la variable. Les opérations mathématiques sont elles contenue dans 2 parenthèses.
    • Chaîne de caractère : la valeur est définie par des apostrophes ou des guillemets. Les chaînes entre apostrophes sont figées alors que celles entre guillemets verront les variables ou caractères spéciaux dans leur contenu interprétés.
    • Tout autre entrée est considérée comme une chaîne de caractères.

ENTIER=1
NOMBRE=10.2
COMMANDE1=$(cat /etc/issue)
COMMANDE2=`ls -l /etc/cron.d`
COMMANDE3=$(($ENTIER + 1))
CHAINE1="L'âge est $AGE"
CHAINE2='test'

La redirection de flux est très largement utilisée en bash. Elle consiste a envoyer les sorties standard

Nicolas THOREZ 2020/03/11 18:06

Entrer votre commentaire. La syntaxe wiki est autorisée:
 
  • bash_base_0.1584000519.txt.gz
  • Dernière modification : 2020/03/12 07:08
  • (modification externe)