Quelques commandes utiles pour contrôler l’environnement
set
affiche les variables du Shell ou positionne les variable du shell courant
unsetaffiche les variables d’environnement
efface les variables Shell
printenv
envenvironnement modifié
execute un pg en
ou liste les variables d’environnement (équivallent a env ici)
export
positionne une var. d'environnement. rend une variable globale (ksh, bsh, sh, bash)
setenv
positionne une var. d'environnement. rend une variable globale (csh) - équivallent à 'export'
$> # appel d’une commande avec variables spécifiques
$> env x=2 bash
$> echo $x
2
$> exit
$> echo $x
$> # rien… le shell d’origine n’a pas été modifié
Quelques variables couramment utilisées
| Variable | Utilisation |
|---|---|
PATH |
Chemin d’exécution |
EDITOR |
Editeur par défaut |
DISPLAY |
terminal X window |
TERM |
terminal texte |
| USER | user connecté |
HOSTNAME |
la machine |
HOME |
login directory |
SHELL |
shell courant |
exemple d’utilisation
$> # un prompt personnalisé
$> echo $HOSTNAME
s-web-2
$> echo $USER
oracle
$> echo $PWD
/home/oracle/TEMP
$> export PS1=$USER@$HOSTNAME$PWD\>
oracle@s-web-2/home/oracle/TEMP> echo “ca c’est du prompt!”
Fichier de configuration
Fichiers de configuration liés à un utilisateur.
Ce sont des fichiers cachés, présent dans le répertoire de login, que l’on va afficher avec ‘ls -al’ :
$> ls -al
-rw——- 1 dd dd 5 Dec 7 15:01 .bash_history
-rw-r–r– 1 dd dd 220 Dec 7 14:59 .bash_logout
-rw-r–r– 1 dd dd 414 Dec 7 14:59 .bash_profile
-rw-r–r– 1 dd dd 2298 Dec 7 14:59 .bashrc
-rw-r–r– 1 dd dd 566 Dec 7 14:59 .profile
fichiers de configuration transversaux se trouvent dans etc. Principalement :
etc/profile
etc/bashrc (en bash …)
Lors d’un LOGIN SHELL , les fichiers suivants sont exécutés s’ils existent, dans l’ordre
- /etc/profile
- ~/.bash_profile,
- ~/.bash_login
- ~/.profile
Le lancement d’un shell INTERACTIF lance le ~/.bashrc.
Le fichier /etc/bashrc n’est pas lancé automatiquement comme le /etc/profile mais doit être appelé explicitement dans le ~/.bashrc.
Le fichier .bash_logout est exécuté lors du …logout
.bash_history contient l’historique des commandes
Exercice sur la gestion de l’environnement
Positionneer une variable shell XX à 1 et une variable d’environnement YY à 2.
Vérifier la différence en exécutant des sous-shell, et en testant ‘set’ et ‘env’
Modifier le .bashrc et vérifiez que les variables ajoutées et exportées sont disponibles dans les sous shell automatiquement.