variables d'environnement Linux : Différence entre versions
De Vulgum Techus
(8 révisions intermédiaires par un utilisateur sont masquées) | |||
Ligne 1 : | Ligne 1 : | ||
+ | <!-- Links checked 31/10/18 --> | ||
[[Catégorie:Linux]] | [[Catégorie:Linux]] | ||
− | '''[[Lien court]]''' vers cette page : | + | '''[[Lien court]]''' vers cette page : https://vt.cx/veL |
− | '''[[QR code]]''' vers cette page : | + | '''[[QR code]]''' vers cette page : https://vt.cx/veL.qr |
− | + | ||
<html> | <html> | ||
<script type="text/javascript"><!-- | <script type="text/javascript"><!-- | ||
Ligne 13 : | Ligne 13 : | ||
</script> | </script> | ||
<script type="text/javascript" | <script type="text/javascript" | ||
− | src=" | + | src="//pagead2.googlesyndication.com/pagead/show_ads.js"> |
</script> | </script> | ||
</html> | </html> | ||
− | |||
= Liste des principales variables = | = Liste des principales variables = | ||
− | * '''$?''' -> code de sortie d'une exécution de commande à savoir : '''0 = succès''' ou '''1 = échec'''. Sous '''[[grep]]''' : '''0 = chaîne trouvée''' ou '''1 = chaîne non trouvée''' | + | * '''$!''' -> mémorise les arguments d'une commande passée au '''[[shell]]''' |
− | * '''$0, $1, ..., $9, $(10), ..., $(N)''' -> argument(s) passé(s) par '''read''' dans une commande '''bash'''. Parenthèses indispensables pour les valeurs supérieures à ''' | + | * '''$?''' -> code de sortie d'une exécution de commande à savoir : '''0 = succès''' ou '''1 = échec'''. Sous '''[[grep]]''' : '''0 = chaîne trouvée''' ou '''1 = chaîne non trouvée''' -> voir $PIPESTATUS |
+ | * '''$#''' -> mémorise le nombre d'arguments de la ligne de commande passée au '''[[shell]]''' | ||
+ | * '''$0, $1, ..., $9, $(10), ..., $(N)''' -> argument(s) passé(s) par '''read''' dans une commande '''bash'''. Parenthèses indispensables pour les valeurs supérieures à 9 | ||
+ | * '''$*''' -> mémorise tous les arguments de la ligne de commande ($1 $2 ...) | ||
+ | * '''$@''' -> mémorise tous les arguments de la ligne de commande, individuellement et entre guillemets ("$1" "$2" ...) | ||
* '''$BASH''' -> chemin vers '''[[Bash]]''' généralement '''/bin/bash''' | * '''$BASH''' -> chemin vers '''[[Bash]]''' généralement '''/bin/bash''' | ||
− | * '''$BASH_ENV''' -> chemin vers le fichier de démarrage de '''[[Bash]]''' qui est lu à chaque lancement d'un ''' | + | * '''$BASH_ENV''' -> chemin vers le fichier de démarrage de '''[[Bash]]''' qui est lu à chaque lancement d'un script |
+ | * '''$BASH_VERSION''' -> version du bash | ||
* '''$COLUMNS''' -> nombre de colonnes du terminal (voir '''$LINES''' pour le nombre de lignes) | * '''$COLUMNS''' -> nombre de colonnes du terminal (voir '''$LINES''' pour le nombre de lignes) | ||
* '''$EDITOR''' -> éditeur par défaut | * '''$EDITOR''' -> éditeur par défaut | ||
+ | * '''$EUID''' -> affiche l'ID de l'utilisateur (UID) | ||
+ | * '''$GROUPS''' -> affiche le group ID (GID) | ||
+ | * '''$HISTSIZE''' -> taille de l'historique des commandes | ||
+ | * '''$HISTFILE''' -> chemin d'accès du fichier (.bash_history) historique des commandes -> équivaut à '''locate .bash_history''' | ||
* '''$HOME''' -> chemin du répertoire de l'utilisateur connecté (exemple '''/root''' si c'est l'utilisateur '''root''') | * '''$HOME''' -> chemin du répertoire de l'utilisateur connecté (exemple '''/root''' si c'est l'utilisateur '''root''') | ||
* '''$HOSTALIASES''' -> le nom du fichier contenant les alias des noms d'hôtes pour certains logiciels réseau | * '''$HOSTALIASES''' -> le nom du fichier contenant les alias des noms d'hôtes pour certains logiciels réseau | ||
+ | * '''$HOSTNAME''' -> affiche le nom d'hôte (hostname) | ||
+ | * '''$HOSTTYPE''' -> affiche le type d'architecture du '''[[CPU]] 32''' ou '''62 bits (x86_64)''' -> voir $MATCHTYPE | ||
* '''$http_proxy''' -> pour utiliser un '''[[proxy]]''' | * '''$http_proxy''' -> pour utiliser un '''[[proxy]]''' | ||
− | * '''$IGNOREEOF''' -> nombre de caractères '''EOF''' (fin de fichier) envoyés par les touches {{K|Ctrl}} + {{K|D}} avant que le | + | * '''$IGNOREEOF''' -> nombre de caractères '''EOF''' (fin de fichier) envoyés par les touches {{K|Ctrl}} + {{K|D}} avant que le shell ne s'interrompe (Excellente sécurité pour éviter de quitter le shell intempestivement) |
− | ** '''export IGNOREEOF=2''' met la valeur de '''2''' dans le | + | ** '''export IGNOREEOF=2''' met la valeur de '''2''' dans le shell courant et dans tous ses sous-processus |
− | ** '''export IGNOREEOF''' sans valeur met la valeur de '''10''' dans '''IGNOREEOF''' (''' | + | ** '''export IGNOREEOF''' sans valeur met la valeur de '''10''' dans '''IGNOREEOF''' (shell et sous processus) |
+ | * '''$LINENO''' -> numéro de ligne exécuté par le shell (utile pour le débogage) | ||
* '''$LINES''' -> nombre de lignes du terminal (voir '''$COLUMNS''' pour le nombre de lignes). Changer la valeur contenue dans '''$LINES''' peut régler certains problèmes d'affichage dans le terminal | * '''$LINES''' -> nombre de lignes du terminal (voir '''$COLUMNS''' pour le nombre de lignes). Changer la valeur contenue dans '''$LINES''' peut régler certains problèmes d'affichage dans le terminal | ||
* '''$LOGNAME''' -> nom de l'utilisateur connecté. Équivalent de '''$USER''' | * '''$LOGNAME''' -> nom de l'utilisateur connecté. Équivalent de '''$USER''' | ||
+ | * '''$MATCHTYPE''' -> équivalent de $HOSTTYPE avec la '''distribution [[Linux]]''' en plus | ||
* '''$OLDPWD''' -> le dernier répertoire visité par l'utilisateur connecté (voir '''$PWD''' pour le répertoire courant) | * '''$OLDPWD''' -> le dernier répertoire visité par l'utilisateur connecté (voir '''$PWD''' pour le répertoire courant) | ||
− | * '''$PATH''' -> suite de répertoires (séparés par ''':''') pris en compte par le | + | * '''$OSTYPE''' -> type d''''[[OS]]''' -> version courte de $MATCHTYPE |
+ | * '''$PATH''' -> suite de répertoires (séparés par ''':''') pris en compte par le shell pour rechercher un exécutable (dans l'ordre de la liste) | ||
** '''echo $PATH | tr : \\n''' affiche les répertoires les uns sous les autres (remplacement des ''':''' par un '''saut de ligne''' grâce à '''[[tr]]''') | ** '''echo $PATH | tr : \\n''' affiche les répertoires les uns sous les autres (remplacement des ''':''' par un '''saut de ligne''' grâce à '''[[tr]]''') | ||
** '''PATH=$PATH:/REPERTOIRE''' ajoute un répertoire à la suite de ceux déjà mémorisés dans '''PATH''' | ** '''PATH=$PATH:/REPERTOIRE''' ajoute un répertoire à la suite de ceux déjà mémorisés dans '''PATH''' | ||
− | * '''$PS1''' -> invite principale du | + | * '''$PS1''' -> invite principale du shell |
− | * '''$PS2''' -> invite secondaire lorsque le | + | * '''$PS2''' -> invite secondaire lorsque le shell attend la saisie de données complémentaires. '''$PS1''' et '''$PS2''' sont modifiables à l'aide des caractères suivants : |
** '''\a''' : bip à l'affichage de l'invite | ** '''\a''' : bip à l'affichage de l'invite | ||
− | ** '''\d''' : date | + | ** '''\d''' : date courante au format lun. janv. 1) |
+ | ** '''\D{%d-%m-%Y %H:%M:%S%z}''' : date courante suivant le format entre '''{ }''' | ||
+ | ** '''\e''' : caractère '''ASCII''' échappement ('''033''') | ||
** '''\h''' : nom de la machine | ** '''\h''' : nom de la machine | ||
** '''\H''' : nom complet de la machine (avec nom de domaine) | ** '''\H''' : nom complet de la machine (avec nom de domaine) | ||
− | ** '''\t''' : heure | + | ** '''\i''' : nombre de jobs en tache de fond |
+ | ** '''\l''' : nom de base du terminal | ||
+ | ** '''\n''' : nouvelle ligne | ||
+ | ** '''\r''' : retour chariot | ||
+ | ** '''\A''' : heure courante sur '''24 heures''' au format '''HH:MM''' | ||
+ | ** '''\t''' : heure courante sur '''24 heures''' au format '''HH:MM:SS''' | ||
+ | ** '''\T''' : heure courante sur '''12 heures''' au format '''HH:MM:SS''' | ||
+ | ** '''\@''' : heure courante sur '''12 heures''' au format '''am/pm''' | ||
+ | ** '''\s''' : nom du shell contenu dans '''$0''' | ||
** '''\u''' : nom de l'utilisateur connecté | ** '''\u''' : nom de l'utilisateur connecté | ||
− | ** '''\w''' : chemin du répertoire courant | + | ** '''\v''' : version du '''bash''' |
+ | ** '''\V''' : version du '''bash''' avec numéro de release | ||
+ | ** '''\w''' : chemin complet du répertoire courant | ||
** '''\W''' : nom du répertoire courant | ** '''\W''' : nom du répertoire courant | ||
+ | ** '''\!''' : numéro de la commande dans l'historique | ||
+ | ** '''\#''' : numéro de la commande | ||
+ | ** '''\$''' : # si l''''UID''' est à '''0''' sinon '''$''' | ||
+ | ** '''\nnn''' : caractère nnn en octal | ||
+ | ** '''\\''' : caractère backslash | ||
+ | ** '''\[''' : commence une séquence de caractères de contrôle qui ne seront pas affichés | ||
+ | ** '''\]''' : termine une séquence de caractères de contrôle | ||
+ | Exemple : export PS1='[\u@\h \W]\$' | ||
+ | * '''$PIPESTATUS''' : statut de la dernière instructions exécutées après un tube (|) -> voir $? | ||
+ | * '''$PPID''' : ID du processus parent (PPID) -> voir '''[[PID]]''' | ||
* '''$PWD''' : répertoire courant de l'utilisateur connecté (voir '''$OLDPWD''' pour le répertoire précédent) | * '''$PWD''' : répertoire courant de l'utilisateur connecté (voir '''$OLDPWD''' pour le répertoire précédent) | ||
+ | * '''$RANDOM''' : donne un nombre entier aléatoire (entre 0 et 32767) -> voir https://abs.traduc.org/abs-fr/ch09s03.html | ||
* '''$REPLY''' : contenu d'un '''read''' sans variable | * '''$REPLY''' : contenu d'un '''read''' sans variable | ||
exemple : read -p "Entrez une valeur : " | exemple : read -p "Entrez une valeur : " | ||
echo "La valeur entrée est $REPLY" | echo "La valeur entrée est $REPLY" | ||
− | * '''$ | + | * '''$SECONDS''' -> nombre de secondes depuis le lancement du shell |
+ | * '''$SHELL''' -> chemin du shell préféré de l'utilisateur tel que définit dans le fichier '''/etc/passwd''' | ||
* '''$TERM''' -> informations sur le terminal situé dans '''/lib/terminfo''' | * '''$TERM''' -> informations sur le terminal situé dans '''/lib/terminfo''' | ||
* '''$TMOUT''' -> si cette variable n'est pas à zéro, le système se déconnecte automatiquement au bout du nombre de secondes qu'elle contient en cas d'inactivité de la part de l'utilisateur (sécurité en cas d'absence) | * '''$TMOUT''' -> si cette variable n'est pas à zéro, le système se déconnecte automatiquement au bout du nombre de secondes qu'elle contient en cas d'inactivité de la part de l'utilisateur (sécurité en cas d'absence) |
Version actuelle en date du 31 octobre 2018 à 19:10
Lien court vers cette page : https://vt.cx/veL QR code vers cette page : https://vt.cx/veL.qr
Liste des principales variables
- $! -> mémorise les arguments d'une commande passée au shell
- $? -> code de sortie d'une exécution de commande à savoir : 0 = succès ou 1 = échec. Sous grep : 0 = chaîne trouvée ou 1 = chaîne non trouvée -> voir $PIPESTATUS
- $# -> mémorise le nombre d'arguments de la ligne de commande passée au shell
- $0, $1, ..., $9, $(10), ..., $(N) -> argument(s) passé(s) par read dans une commande bash. Parenthèses indispensables pour les valeurs supérieures à 9
- $* -> mémorise tous les arguments de la ligne de commande ($1 $2 ...)
- $@ -> mémorise tous les arguments de la ligne de commande, individuellement et entre guillemets ("$1" "$2" ...)
- $BASH -> chemin vers Bash généralement /bin/bash
- $BASH_ENV -> chemin vers le fichier de démarrage de Bash qui est lu à chaque lancement d'un script
- $BASH_VERSION -> version du bash
- $COLUMNS -> nombre de colonnes du terminal (voir $LINES pour le nombre de lignes)
- $EDITOR -> éditeur par défaut
- $EUID -> affiche l'ID de l'utilisateur (UID)
- $GROUPS -> affiche le group ID (GID)
- $HISTSIZE -> taille de l'historique des commandes
- $HISTFILE -> chemin d'accès du fichier (.bash_history) historique des commandes -> équivaut à locate .bash_history
- $HOME -> chemin du répertoire de l'utilisateur connecté (exemple /root si c'est l'utilisateur root)
- $HOSTALIASES -> le nom du fichier contenant les alias des noms d'hôtes pour certains logiciels réseau
- $HOSTNAME -> affiche le nom d'hôte (hostname)
- $HOSTTYPE -> affiche le type d'architecture du CPU 32 ou 62 bits (x86_64) -> voir $MATCHTYPE
- $http_proxy -> pour utiliser un proxy
- $IGNOREEOF -> nombre de caractères EOF (fin de fichier) envoyés par les touches Ctrl + D avant que le shell ne s'interrompe (Excellente sécurité pour éviter de quitter le shell intempestivement)
- export IGNOREEOF=2 met la valeur de 2 dans le shell courant et dans tous ses sous-processus
- export IGNOREEOF sans valeur met la valeur de 10 dans IGNOREEOF (shell et sous processus)
- $LINENO -> numéro de ligne exécuté par le shell (utile pour le débogage)
- $LINES -> nombre de lignes du terminal (voir $COLUMNS pour le nombre de lignes). Changer la valeur contenue dans $LINES peut régler certains problèmes d'affichage dans le terminal
- $LOGNAME -> nom de l'utilisateur connecté. Équivalent de $USER
- $MATCHTYPE -> équivalent de $HOSTTYPE avec la distribution Linux en plus
- $OLDPWD -> le dernier répertoire visité par l'utilisateur connecté (voir $PWD pour le répertoire courant)
- $OSTYPE -> type d'OS -> version courte de $MATCHTYPE
- $PATH -> suite de répertoires (séparés par :) pris en compte par le shell pour rechercher un exécutable (dans l'ordre de la liste)
- echo $PATH | tr : \\n affiche les répertoires les uns sous les autres (remplacement des : par un saut de ligne grâce à tr)
- PATH=$PATH:/REPERTOIRE ajoute un répertoire à la suite de ceux déjà mémorisés dans PATH
- $PS1 -> invite principale du shell
- $PS2 -> invite secondaire lorsque le shell attend la saisie de données complémentaires. $PS1 et $PS2 sont modifiables à l'aide des caractères suivants :
- \a : bip à l'affichage de l'invite
- \d : date courante au format lun. janv. 1)
- \D{%d-%m-%Y %H:%M:%S%z} : date courante suivant le format entre { }
- \e : caractère ASCII échappement (033)
- \h : nom de la machine
- \H : nom complet de la machine (avec nom de domaine)
- \i : nombre de jobs en tache de fond
- \l : nom de base du terminal
- \n : nouvelle ligne
- \r : retour chariot
- \A : heure courante sur 24 heures au format HH:MM
- \t : heure courante sur 24 heures au format HH:MM:SS
- \T : heure courante sur 12 heures au format HH:MM:SS
- \@ : heure courante sur 12 heures au format am/pm
- \s : nom du shell contenu dans $0
- \u : nom de l'utilisateur connecté
- \v : version du bash
- \V : version du bash avec numéro de release
- \w : chemin complet du répertoire courant
- \W : nom du répertoire courant
- \! : numéro de la commande dans l'historique
- \# : numéro de la commande
- \$ : # si l'UID est à 0 sinon $
- \nnn : caractère nnn en octal
- \\ : caractère backslash
- \[ : commence une séquence de caractères de contrôle qui ne seront pas affichés
- \] : termine une séquence de caractères de contrôle
Exemple : export PS1='[\u@\h \W]\$'
- $PIPESTATUS : statut de la dernière instructions exécutées après un tube (|) -> voir $?
- $PPID : ID du processus parent (PPID) -> voir PID
- $PWD : répertoire courant de l'utilisateur connecté (voir $OLDPWD pour le répertoire précédent)
- $RANDOM : donne un nombre entier aléatoire (entre 0 et 32767) -> voir https://abs.traduc.org/abs-fr/ch09s03.html
- $REPLY : contenu d'un read sans variable
exemple : read -p "Entrez une valeur : " echo "La valeur entrée est $REPLY"
- $SECONDS -> nombre de secondes depuis le lancement du shell
- $SHELL -> chemin du shell préféré de l'utilisateur tel que définit dans le fichier /etc/passwd
- $TERM -> informations sur le terminal situé dans /lib/terminfo
- $TMOUT -> si cette variable n'est pas à zéro, le système se déconnecte automatiquement au bout du nombre de secondes qu'elle contient en cas d'inactivité de la part de l'utilisateur (sécurité en cas d'absence)
- $TZDIR -> le chemin du dossier contenant les fichiers d'informations sur les fuseaux horaires (TimeZoneDIRectory). Généralement inutile car le système cherche par défaut dans le répertoire /usr/share/zoneinfo
- $USER -> nom de l'utilisateur connecté. Équivalent de $LOGNAME
- USERNAME -> le nom de l'utilisateur connecté. Cette variable ne doit pas être modifiée car elle est définie par le système