[BASH] Liste des variables

Aide mémoire listant toutes les variables # !shell utiles pour l’écriture de # !scripts .

Manipulation de variables simples

var=val var="a b" affectation de la variable "var"
$var ${var} contenu de la variable "var"
${#var} longueur de la variable "var"
${var:-valeur} affectation conditionnelle, si "var" non défini alors var = valeur
export var declare -x var exportation de la variable "var" vers les shells fils
set affichage de l’ensemble des variables définies dans le shell
unset var suppression de la variable "var"

Tableaux

tab[0]=val affectation du premier enregistrement du tableau "tab"
${tab[0]} $tab contenu du premier enregistrement du tableau "tab"
${tab[11]} contenu du douzième enregistrement du tableau "tab"
${tab[*]} ensemble des enregistrements du tableau "tab"
${#tab[11]} longueur du douzième enregistrement du tableau "tab"
${#tab[*]} nombre d’enregistrements du tableau "tab"
${!tab[@]} liste des clefs ( Index ) du tableau "tab"

Paramètres positionnels et arguments

$0 nom du script
$1 $2 ... ${10} paramètres positionnels (1, 2 et 10)
$# nombre de paramètres positionnels
$* $@ ensemble des paramètres positionnels, équivalant à $1 $2 ... $n

Variables spéciales

$$ PID du shell courant
$! PID du dernier travail lancé en arrière plan
$? code retour de la dernière commande
${PIPESTATUS[0]} code retour de la première commande d’un pipe

Variables d’environnement

$HOME chemin du répertoire personnel de l’utilisateur
$OLDPWD chemin du répertoire précédent
$PATH liste des chemins de recherche des commandes exécutables
$PPID PID du processus père du shell
$PS1 invite principale du shell
$PS2 invite secondaire du shell
$PS3 invite de la structure shell "select"
$PS4 invite de l’option shell de débogage "xtrace"
$PWD chemin du répertoire courant
$RANDOM nombre entier aléatoire compris entre 0 et 32767
$REPLY variable par défaut de la commande "read" et de la structure shell "select"
$SECONDS nombre de secondes écoulées depuis le lancement du shell