Bash (Français)

Cet article ou section a besoin d'être
traduit(e)
.
Notes:
Traduction en cours (Discuss in
Talk:Bash (Français)#
)
Articles apparentés
Bash/Functions
Bash/Prompt customization
Environment variables
Readline
Fortune
Pkgfile
Command-line shell
Bash
(Bourne-again Shell) est un interpréteur de commandes (
shell
) et un langage de programmation de
GNU Project
. Son nom fait allusion à son prédécesseur, l'interpréteur de commandes Bourne, depuis longtemps obsolète. Bash peut être exécuté sur la plupart des systèmes d'exploitation de type UNIX, y compris GNU/Linux.
Bash est l'interpréteur de commandes par défaut sur Arch Linux.
Invocation
Le comportement de Bash peut changer en fonction de comment il est invoqué. Voici quelques descriptions des différents modes.
Si Bash a été lancé par une connexion dans un TTY, par un daemon
SSH
, ou  d'un manière similaire, il est considéré comme un
interpréteur de commandes (shell) de connexion
. Ce mode peut également être appelé en utilisant le paramètre de ligne de commande
-l
/
--login
.
Bash est considéré comme un
interpréteur de commandes interactif
quand ses flux d'entrée/sortie et d'erreur sont connectés à un terminal (par exemple, quand il est utilisé dans un emulateur de terminal), et qu'il n'a pas été éxécuté avec l'option
-c
ou d'argument n'étant
pas une option
(par exemple, un
script bash
). Tous les interpréteurs de commandes intéractifs sourcent
/etc/bash.bashrc
et
~/.bashrc
, alors que les interpréteurs de commandes intéractifs de connexion sourcent également
/etc/profile
et
~/.bash_profile
.
Note
Dans Arch,
/bin/sh
(ce qui était auparavant l'éxécutable pour l'interpréteur de commandes Bourne) est lié symboliquement à
bash
. Si Bash est éxécuté avec le nom
sh
, il essaiera d'imiter le comportement de démarrage d'anciennes versions de
sh
, incluant une compatiblité POSIX.
Fichiers de configuration
Bash essaiera d'éxécuter un nombre de fichiers de configuration en fonction de comment il a été invoqué. Veuillez regarder la section des
fichiers de démarrage bash
pour une description complète.
Fichier
Description
Shell de connexion
(voir notes)
Interpréteur sans connexion intéractif
/etc/profile
Source
les paramètres d'applications dans
/etc/profile.d/*.sh
et
/etc/bash.bashrc
.
Oui
Non
~/.bash_profile
Par utilisateur, après
/etc/profile
. Si ce fichier n'existe pas,
~/.bash_login
et
~/.profile
seront vérifiés dans cet ordre. Le fichier squelette
/etc/skel/.bash_profile
source également
~/.bashrc
.
Oui
Non
~/.bash_logout
Par utilisateur, après la sortie d'un shell de connexion.
Oui
Non
/etc/bash.bash_logout
Dépend de l'option de compilation -DSYS_BASH_LOGOUT="/etc/bash.bash_logout". Après la sortie d'un shell de connexion.
Oui
Non
/etc/bash.bashrc
Dépend de l'option de compilation -DSYS_BASH_LOGOUT="/etc/bash.bash_logout". Source
/usr/share/bash-completion/bash_completion
.
Non
Oui
~/.bashrc
Par utilisateur, après
/etc/bash.bashrc
.
Non
Oui
Note
Les shell de connexion peuvent être non-intéractifs lorsqu'ils sont appelés avec l'argument
--login
.
Lorsqu'ils sont intéractifs, les shells de
non-connexion
ne sourcent
pas
~/.bash_profile
, ils hérient tout de même de l'environement de leur processus parent (qui peut être un shell de connexion). Voir
pour les processus, environnements et héritage
pour plus de détails.
Shell et variables d'environnement
Le comportement de Bash et des programmes éxécutés avec celui-ci peuvent être influencés par un nombre de variables d'environnement. Les
variables d'environnement
sont utilisés pour stocker des valeurs utiles tels que des répertoires pour où chercher les commandes, ou quel navigateur utiliser. Lorsqu'un nouveau shell ou script est lancé, il hérite des variables du parent, commençant alors avec un nombre de variables shell
[1]
.
Ces variables shell dans Bash peuvent être exportées afin de devenir des variables d'environnement:
VARIABLE=contenu
export VARIABLE
ou avec un raccourci
export VARIABLE=contenu
Les variables d'environnement sont souvent placées dans
~/.profile
ou
/etc/profile
afin que d'autres shells compatibles avec Bourne peuvent les utiliser.
Voir
variables d'environnement
pour plus d'informations générales.