variables d'environnement Linux : Différence entre versions

De Vulgum Techus
Aller à : Navigation, rechercher
 
(30 révisions intermédiaires par un utilisateur sont masquées)
Ligne 1 : Ligne 1 :
* $BASH -> chemin vers '''[[Bash]]''' généralement '''/bin/bash'''
+
<!-- Links checked 31/10/18 -->
* $BASH_ENV -> chemin vers le fichier de démarrage de '''[[Bash]]''' qui est lu à chaque lancement d'un '''script'''
+
[[Catégorie:Linux]]
* $EDITOR -> éditeur par défaut
+
'''[[Lien court]]''' vers cette page : https://vt.cx/veL
* $HOME -> chemin du répertoire de l'utilisateur connecté (exemple '''/root''' si c'est l'utilisateur '''root''')
+
'''[[QR code]]''' vers cette page : https://vt.cx/veL.qr
* $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
+
<html>
** '''export IGNOREEOF=2''' met la valeur de '''2''' dans le '''shell''' courant et dans tous ses sous-processus
+
<script type="text/javascript"><!--
** '''export IGNOREEOF''' sans valeur met la valeur de '''10''' dans '''IGNOREEOF''' ('''shell''' et sous processus)
+
google_ad_client = "ca-pub-3341840374417340";
* $OLDPWD -> le dernier répertoire visité y est placé par la commande '''cd'''
+
/* VT2 */
* $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)
+
google_ad_slot = "6349432125";
**
+
google_ad_width = 468;
 +
google_ad_height = 60;
 +
//-->
 +
</script>
 +
<script type="text/javascript"
 +
src="//pagead2.googlesyndication.com/pagead/show_ads.js">
 +
</script>
 +
</html>
 +
 
 +
= 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 {{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''' 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 =
 +
{{#widget:DISQUS
 +
|id=vulgumtechus
 +
}}

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