variables d'environnement Linux : Différence entre versions

De Vulgum Techus
Aller à : Navigation, rechercher
 
(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 : http://vt.cx/veL<br/>
+
'''[[Lien court]]''' vers cette page : https://vt.cx/veL
'''[[QR code]]''' vers cette page : http://vt.cx/veL.qr<br/>
+
'''[[QR code]]''' vers cette page : https://vt.cx/veL.qr
<br/>
+
 
<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="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+
src="//pagead2.googlesyndication.com/pagead/show_ads.js">
 
</script>
 
</script>
 
</html>
 
</html>
<br/>
 
  
 
= 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 à '''9'''
+
* '''$?''' -> 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 '''script'''
+
* '''$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 '''shell''' ne s'interrompe (Excellente sécurité pour éviter de quitter le '''shell''' intempestivement)
+
* '''$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 '''shell''' courant et dans tous ses sous-processus
+
** '''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)
+
** '''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 '''shell''' pour rechercher un exécutable (dans l'ordre de la liste)
+
* '''$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 '''shell'''
+
* '''$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 :
+
* '''$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 actuelle
+
** '''\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"
* '''$SHELL''' -> chemin du '''shell''' préféré de l'utilisateur tel que définit dans le fichier '''/etc/passwd'''
+
* '''$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

Spécifiques

  • DF_BLOCK_SIZE -> voir df
  • BLOCK_SIZE -> voir df
  • BLOCKSIZE -> voir df
  • POSIXLY_CORRECT -> voir df

Commentaires

blog comments powered by Disqus