Comment savoir quel est le shell de script par défaut dans Centos?

J'utilise Centos 6 et après avoir lu sur les différents shells et la mise en œuvre de tirets comme Debian, Ubuntu et Fedora, j'ai décidé de replace sh avec dash comme shell de script dans Centos.

Je ne sais pas comment voir si cela est déjà fait, parce que j'ai à la fois sh et dash dans mon système, alors comment savoir quel est mon shell de script par défaut?

Vous pouvez déterminer votre shell par défaut avec la command suivante:

grep -- "$LOGNAME" /etc/passwd | awk -F":" '{print $7}' 

Dans ma machine, sh est un lien à dash , essayez:

 ls -l "$(which sh)" 

Le "script shell" n'est pas le shell de connection. C'est ce qui fonctionne comme /bin/sh . Notez que de nombreux dérivés de la coquille de Bourne (c.-à-d., sh à bash et tiret, et probablement aussi les simili-coquilles de Korn) se comportent différemment lorsqu'ils sont appelés sh

Sur Centos (et toujours dans d'autres linux et unix), vous pouvez savoir quel est le shell que vous utilisez en exécutant les commands suivantes:

 $ id uid=501(john1) gid=1000(groupname1) .... 

qui vous indiquent que vous utilisez l'user john1 puis:

 $ grep john1 /etc/passwd john1:x:501:1000:john1,,,:/home/john1:/bin/bash 

la dernière string afther / vous indique quel est votre shell de connection (dans cet exemple, `/ bin / bash ')

Pour modifier votre shell de connection, vous pouvez éditer (en tant qu'user root ) cette string dans passwd mais attention à ne rien changer d'autre.

Si vous avez une interface graphique installée (comme GNOME ou KDE), il existe d'autres outils charts pour modifier ces parameters.

la meilleure façon de le changer est d'utiliser usermod dans Centos

 usermod -s /bin/bash username