Jai été surpris de ne pas avoir trouvé cette question déjà sur le site. Donc, aujourdhui $ est arrivé après que je me suis connecté en tant que nouvel utilisateur. Cétait inattendu car linvite de mon utilisateur principal commence par username@computername:~$. 
Alors, comment puis-je changer autre shell à bash?
Commentaires
Réponse
 En supposant que le shell inconnu prend en charge lexécution dune commande absolue, vous pouvez essayer: /bin/bash 
 Pour changer le shell par défaut, jutiliserais chsh(1). Exemple dutilisation: chsh -s /bin/bash $USER 
Commentaires
- Chsh change-t-il définitivement le shell ou juste pour la session en cours ?
 -  @mouche de façon permanente; il modifie votre entrée dans 
/etc/passwd -  @mouche, 
chsh(1)ne permettra que de passer à un shell répertorié dans/etc/shells(et est probablement disponible).chsh -lrépertorie les alternatives. Attention, certains (commenologin) sont définis pour des comptes qui ne doivent jamais être utilisés pour se connecter (belle façon de se verrouiller), il peut y avoir des ajouts locaux pour des usages spéciaux. 
Réponse
 Vous saisissez bash. Si vous voulez que cela soit permanent, changez le shell par défaut en /bin/bash en éditant /etc/passwd. 
 Ici « s quelques extraits de mon /etc/passwd: 
avahi:x:84:84:Avahi daemon:/:/bin/false xenoterracide:x:1000:100::/home/xenoterracide:/bin/zsh postgres:x:88:88::/var/lib/postgres:/bin/zsh bob:x:1001:1001::/home/bob:/bin/bash usbmux:x:140:140:usbmux user:/:/sbin/nologin 
 Le tout dernier champ contient le shell, Modification du champ après le dernier : vers un shell valide ou non valide fonctionnera. /bin/false et /sbin/nologin signifient tous deux lutilisateur na pas de véritable shell de connexion, bien que si pam nest pas configuré correctement, cela ne signifie pas quils ne peuvent pas se connecter (jai signalé un bogue à ce sujet dans Arch Linux, car vous pouvez vous connecter graphiquement sans avoir de shell de connexion). /bin/bash et /bin/zsh sont tous deux des shells valides, voir /etc/shells pour une liste des shells valides sur vos systèmes. Voici « mon /etc/shells si vous » êtes intéressé. 
/bin/sh /bin/bash /bin/ksh /bin/zsh /bin/dash 
 Oui, vous pouvez utiliser chsh ou usermod pour faire la même chose, noubliez pas quil ne sagit que de fichiers texte structurés et de TIMTOWTDI. 
Commentaires
-  Vous souhaiterez probablement utiliser 
chshau lieu de modifier manuellementpasswd -  @Michael il y a environ 5 (POOMA) façons différentes de changer le shell dans 
/etc/passwdJe nai ' pas envie de les énumérer , parce que je le fais toujours manuellement. chsh et usermod peuvent le faire tous les deux. - Jouer avec les fichiers de configuration est une mauvaise idée (TM), une erreur peut rendre le système inutilisable. Oui, cest souvent le seul / le plus rapide moyen, mais faites-le avec soin extrême .
 
Réponse
Si chsh ou si la modification manuelle de la configuration ne fonctionne pas, mais un script ~ / .profile est exécuté à la connexion, ajoutez cette ligne:
exec /bin/bash --login 
Commentaires
- Après avoir cherché pendant un moment, cétait la solution dont javais besoin. Merci!
 - Excellente idée, surtout si le shell a sélectionné les sources de ce fichier au démarrage …
 -  
touch ~/.bash_profileou autrement bash sexécutera en boucle: bash prend~/.profileau cas où~/.bash_profilene ' Il existe. 
$est apparu plutôt queusername@computername:~$ne ' t signifie quil nétait ' t bash. Le formatage exact de linvite est défini par la variable PS1, qui peut être configurée ou personnalisée différemment pour différents utilisateurs.echo $SHELLpour savoir quel est votre shell actuel./bin/shne signifie souvent ' que ' est généralement un lien symbolique vers autre chose. Je ' d typels -l /bin/shpour voir à quoi ' est un lien symbolique. Dans certains cas, le fait dêtre un lien symbolique vers quelque chose change son comportement, ' ne pense pas que bash est comme ça.bashas/bin/shdésactive de nombreuses fonctionnalités bash (il passe en mode de conformité POSIX).