Lorsque Bash est lancé en mode interactif l'option -i est précisée et la variable PS1 est définie. Les options actives sont listées dans la variable $-.
Le script ~/.basrc utilise la valeur de cette variable pour déterminer si l'exécution courante est interactive ou non et adapter son comportement.
Depuis un shell interactif lorsque l'utilisateur invoque une commande ou un autre script, un nouvel environnement est créé par copie de l'environnement courant (fork) puis par lectures successives des fichiers /etc/bash.bashrc
et ~/.bashrc
.
Tester le fonctionnement du fork et la séquence d'appel des scripts
La commande test intègre une option intéressante -t permettant de vérifier si un descripteur de fichier quelconque FD
est lié à un terminal.
# Retourne vrai si le descripteur 0 (stdin) est lié au terminal donc au clavier [ -t 0 ] # Retourne vrai si le descripteur 1 (stdout) est lié au terminal donc à l'écran [ -t 1 ]