En tapant echo $0
, je sais que j'utilise tcsh
dans mon terminal Ubuntu 13.04. Cependant, peu importe d'utiliser chsh -s /bin/bash
ou de simplement taper bash
, vous ne pouvez toujours pas utiliser bash comme shell actuel. La chose intéressante est que, si je tape sh
, alors mon shell sera sh
. Enfin, j'ai trouvé une chose plus intéressante: après avoir tapé bash
, je saisis ps
pour voir le changement. J'ai trouvé deux lignes supplémentaires: l'une est le nouveau PID bash, l'autre le nouveau PID tcsh , c’est-à-dire qu’à chaque fois que j’essaie d’utiliser Bash Shell, le système change automatiquement mon shell en tcsh immédiatement. Comment puis-je résoudre ça? S'il vous plaît aidez-moi! Merci!
En utilisant echo $0
, vous obtiendrez le nom du processus en cours d'exécution, le nom du fichier tel qu'il a été appelé sur la ligne de commande, le nom de la commande en cours d'exécution (voir Variables spéciales du shell =). La bonne commande qui retournera votre shell actuel dans lequel vous vous trouvez est:
echo $Shell
C'est là que réside probablement votre confusion. Et oui, la bonne commande pour changer votre shell par défaut est:
chsh
Mieux vaut l'utiliser sans aucun argument pour voir exactement ce qui se passe.
Commencez par taper cat /etc/shells
pour afficher la liste des shells disponibles, puis utilisez chsh
pour interagir et modifier le shell. Si vous voulez l'utiliser depuis un script, utilisez chsh --Shell SHELLNAME
.
Je suggère également de lire /etc/login.defs
pour voir ce que vous pouvez personnaliser, c'est intéressant et utile.
Bonne journée.