Il existe une dizaine de shells différents, les plus connus sont:
sh |
shell de base avec aucune fonctionnalité avancé |
ksh |
shell plus évolué que sh mais reste restreint |
bash |
shell le plus utilisé car très rapide et possède des |
|
fonctionnalitées tel que la complétions, etc.. |
zsh |
le shell le plus évolué, de plus en plus utilisé car |
|
il possède des fonctionnalités très pratique |
|
tel que: la complétions de la suite de chaque commandes |
|
par ex: rpm -i apac + [tab] |
|
va directement compléter par rpm -i apache....rpm |
Les shells disposent de ``variables d'environnement'' tel que le PATH, le PROMPT
mais aussi des alias, etc... voici un exemple du contenu d'un .zshrc:
export PROMPT="....." |
alias petra='ssh root@petra' |
alias e='emacsclient -n' |
export PATH=/usr/local/bin:/sbin/:/usr/X11R6/bin:/bin |
La variable ``PROMPT'' permet de personnaliser l'apparence de la ligne de commande.
La variable ``PATH'' permet d'inclure des répertoires de recherche pour trouver les fichiers exécutables, illustrés par l'exemple
suivant:
(seb@ramses)[ ]-% sudo vipw |
sudo: vipw: command not found |
(seb@ramses)[ ]-% export PATH=$PATH:/usr/sbin |
(seb@ramses)[ ]-% sudo vipw |
root:x:0:0:root:/root:/bin/zsh |
bin:x:1:1:bin:/bin: |
daemon:x:2:2:daemon:/sbin: |
adm:x:3:4:adm:/var/adm: |
lp:x:4:7:lp:/var/spool/lpd: |
sync:x:5:0:sync:/sbin:/bin/sync |
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown |
.... |
Cet exemple met en valeur le fait que si la variable PATH venait à être modifiée on aurait de la même
façon un problème de sécurité potentiel, en effet si quelqu'un venait à modifier le PATH par
PATH=/tmp/bin:$PATH:/usr/sbin n'importe qui disposant des droits suffisant sur /tmp pourrait alors usurper
toute les commandes exécutées par l'utilisateur, les conséquences pourraient être désastreuses pour le cas de root.
|
|
|
Remarque : Dans la variable PROMPT le caractère d'échappement se construit sous Emacs par la suite de touches ``(Ctrl+q) + ESC''
|
|
|
|
|