web-dev-qa-db-fra.com

Comment changer mon shell en vrai bash?

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!

2
user2869734

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.

3
Radu Rădeanu

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.

0
Lorenzo Ancora