Gestion de l’environnement

Quelques commandes utiles pour contrôler l’environnement

set
affiche les variables du Shell ou positionne les variable du shell courant
unset
efface les variables Shell
printenv
affiche les variables d’environnement
env
execute un pg en
environnement modifié
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.

Répondre

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Twitter picture

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Connexion à %s

Suivre

Get every new post delivered to your Inbox.