Xav's blog

Linux : Shell

Quels shells sont installés sur mon système Unix ?

[root@server]# cat /etc/shells
/bin/sh /bin/bash /sbin/nologin /usr/bin/sh /usr/bin/bash /usr/sbin/nologin /bin/tcsh /bin/csh /bin/ksh /bin/rksh

Quel shell suis-je en train d’utiliser ?

[root@server]# ps -p $$
PID TTY TIME CMD
17043 pts/3 00:00:00 bash

ou

[root@server]# echo $SHELL
csh

Comment changer de shell par défaut pour un utilisateur ?

[root@server]# chsh -s /usr/bin/bash Changing shell for root.
Shell changed.

Quel fichier profil pour mon utilisateur ?

Le script exécuté à la connexion de l’utilisateur dépend du shell qu’il exécute. Ainsi dans le répertoire Home de l’utilisateur on peut trouver plusieurs fichiers profils (.sh, .csh…)

Pour chaque shell exécuté au démarrage on trouve dans le répertoire home un fichier .<shell>rc ; dans celui-ci sont listés les profils chargés, correspondant au shell.

Exemple de contenu :

switch (`uname`)
   case AIX*:
       alias hostname 'hostname -s'
   breaksw
   case OS/390*:
       setenv _BPXK_AUTOCVT ON
       setenv _TAG_REDIR_IN TXT
       set    _TAG_REDIR_IN=TXT
       setenv _TAG_REDIR_OUT TXT
       set    _TAG_REDIR_OUT=TXT
       setenv _TAG_REDIR_ERR TXT
       set    _TAG_REDIR_ERR=TXT

       alias hostname 'hostname -s'
   breaksw
endsw
# SAP environment
if ( -e $HOME/.sapenv_`hostname`.csh ) then
   source $HOME/.sapenv_`hostname`.csh
else if ( -e $HOME/.sapenv.csh ) then
   source $HOME/.sapenv.csh
endif
#
# RDBMS environment
if ( -e $HOME/.dbenv_`hostname`.csh ) then
   source $HOME/.dbenv_`hostname`.csh
else if ( -e $HOME/.dbenv.csh ) then
   source $HOME/.dbenv.csh
endif 

Rappel : Le fichier /etc/passwd contient la liste des shell chargés par utilisateur.

Add comment

Most popular

Most discussed