Réponses:
Utilisez l' chsh
utilitaire comme ceci:
chsh -s bash
Apple a chsh
un peu changé sur Mac OS X par rapport à ce que chsh
vous verriez sous Linux par exemple. Vous pouvez lire sur leur dans le chsh Mac OS X Man page .
Notez que vous ne serez autorisé à passer à un shell répertorié dans /etc/shells
. C'est normalement bien, mais cela signifie que si vous souhaitez installer Bash 4 (depuis Homebrew, MacPorts ou compiler le vôtre), vous devez ajouter une ligne à /etc/shells
. (J'ai rencontré cela il y a quelques semaines et j'ai pensé que cela pourrait aider les autres à savoir ...)
Edit : Tim Smith souligne que vous pouvez contourner la /etc/shells
limitation si vous exécutez en chsh
tant que root via sudo
. Par exemple, sudo chsh -s /usr/local/bin/my_shell $USER
cela fonctionnera, même s'il my_shell
n'est pas répertorié dans /etc/shells
. Je préfère éditer /etc/shells
, mais au final, c'est une utilisation dans les sudo
deux sens car vous ne pouvez pas éditer en /etc/shells
tant qu'utilisateur normal. Alors peut-être six d'un, une demi-douzaine de l'autre.
/etc/shells
si vous n'êtes pas obligé? Pour raison, je préfère garder les fichiers système identiques.
/etc/shells
est le fichier du système qui définit les shells reconnus. Je modifie ce fichier car je veux ajouter un shell à la liste des shells reconnus. Cela me semble assez raisonnable.
chsh: bash: non-standard shell
chsh
seul si vous essayez d'utiliser un shell qui n'est pas répertorié dans /etc/shells
.
/etc/shells
ce qui me semble étrange.
Pour ce faire à l'aide de l'interface graphique de Mac OS X:
Notez que cet emplacement est l'endroit où vous pouvez modifier votre répertoire personnel, UUID, ID utilisateur, ID de groupe et nom abrégé si vous n'êtes pas à l'aise avec le terminal. Il y a aussi une question similaire ici .
En utilisant les réponses ci-dessus, j'obtenais un message d'erreur:
$ chsh -s zsh
Changing shell for myuser.
Password for myuser:
chsh: zsh: non-standard shell
Pour contourner cela:
sudo chsh -s zsh $(whoami)
whoami
dans un sous-shell est de changer le shell de votre utilisateur, pas la racine.
Encore une chose si vous utilisez un homebrew. Lorsque vous exécutez des commandes en tant que root (en utilisant sudo
), zsh pointe vers / bin / zsh, qui est fourni avec OSX et peut être obsolète. Pour utiliser celui qui est installé via homebrew, utilisez ce qui suit:
sudo chsh -s $(which zsh) $(whoami)