Que sont les variables ?
Une variable est une zone de stockage temporaire en mémoire qui est définie par l'utilisateur, le shell, le système ou tout programme qui charge un autre programme. Il existe deux catégories de variables :
- Les variables d'environnement sont valables pour la durée de la session.
- Les variables shell s'appliquent uniquement à l'instance actuelle du shell et sont utilisés pour définir des conditions de travail à court terme.
Affichage des variables shell
La commande echo affiche la valeur stockée dans une variable shell.
$ echo $SHELL /bin/bash
$ set DISPLAY=:0.0 EDITOR=/usr/bin/vi SHELL=/bin/bash TERM=xterm-256color USER=geek ...
Configuration et désactivation des variables du shell
Les variables shell sont définies à l'aide de la commande set. Par exemple :
$ set history = 50 $ echo $history 30
La commande set est également utilisée pour afficher les variables shell et leurs valeurs. Par exemple :
$ set | grep history 30
Les valeurs peuvent être inversées en utilisant la commande unset.
Variables par défaut du shell Bash
Le tableau décrit les variables auxquelles sont assignées des valeurs par défaut par le shell bash lors de la connexion.
Variable | Signification |
---|---|
EDITEUR | Définit l'éditeur par défaut pour le shell |
FCEDIT | Définit l'éditeur pour la commande fc. Utilisé avec le mécanisme d'historique pour éditer les commandes précédemment exécutées. |
ACCUEIL | Définit le répertoire dans lequel la commande cd change lorsqu'aucun argument n'est fourni sur la ligne de commande |
LOGNAME | Définit le nom de connexion de l'utilisateur |
CHEMIN | Spécifie une liste de répertoires séparés par deux-points à rechercher lorsque le shell a besoin de trouver une commande à exécuter |
PS1 | Spécifie l'invite principale du shell Bash :$ |
PS2 | Spécifie l'invite de commande secondaire, normalement :> |
SHELL | Spécifie le nom du shell (c'est-à-dire /bin/bash) |
Personnalisation des variables de shell :PS1
La chaîne d'invite du shell est stockée dans la variable shell PS1 et vous pouvez la personnaliser selon vos préférences.
$ PS1=”$LOGNAME@`uname -n` \$PWD $ “ user@server01: $
– Dans cet exemple, l'invite affiche le nom de connexion de l'utilisateur, le nom d'hôte du système et le répertoire de travail actuel.
– Le nom d'utilisateur est lu à partir de la variable LOGNAME , et le nom d'hôte provient de la sortie de 'uname -n ' commande.
– Cette invite du shell affiche les informations correctes même lorsque l'utilisateur se connecte sur différents hôtes.
– Le guillemet arrière (`) délimite une chaîne de commande intégrée.
Personnalisation des variables shell :PATH
La variable PATH contient une liste de noms de chemin de répertoire, séparés par des deux-points. Lors de l'exécution d'une commande sur la ligne de commande, le shell recherche ces répertoires de gauche à droite, dans l'ordre pour localiser cette commande. Si le shell ne trouve pas la commande dans la liste des répertoires, il affiche un message d'erreur « introuvable ». Pour garantir le bon fonctionnement des commandes, vous devez inclure le répertoire respectif dans la variable PATH. L'exemple illustre l'inclusion du répertoire personnel dans la variable PATH.
Par exemple, pour inclure le répertoire personnel dans la variable PATH, exécutez les commandes suivantes.
$ echo $PATH /usr/bin:/usr/sbin
$ PATH=$PATH:~
$ echo $PATH /usr/bin:/usr/sbin:/home/user01Remarque :La variable PATH passe automatiquement la valeur aux sous-shells.