回答:
<= 10.4の場合-netinfoマネージャー、/ users / whoever / shell
> = 10.5の場合
sudo chsh -s /path/to/shell username
shellは、そのユーザーに必要なシェルです。のパスワードsudo
を知っている場合は必要ありませんusername
。
man chsh
他の例については。
chsh
て、シェルフィールドを変更することもできます。のようなエラーが表示された場合はchsh: /usr/local/bin/bash: non-standard shell
、に追加/usr/local/bin/bash
してください/etc/shells
。
chsh -s /path/to/shell username
NetInfoはディレクトリサービス(dscl)に置き換えられ、10.3がbashであるため、Mac OS Xのデフォルトシェルであることがわかります。それ以前はtcshでした。
コマンドラインからこれを行う必要がある場合(たとえば、ARD経由でプッシュする場合やSSH経由でリモートでプッシュする場合)、次を実行できます。
sudo dscl localhost -change /Local/Default/Users/USERNAME shell OLD_SHELL NEW_SHELL
#In Use:
sudo dscl localhost -change /Local/Default/Users/chealion shell /bin/bash /bin/zsh
現在のシェルがわからない場合は、次を実行できます。
sudo dscl localhost -read /Local/Default/Users/USERNAME shell
ユーザーがローカルユーザーでない場合、パスは単に変更され、必要に応じlocalhost
てOpen Directoryサーバーの名前に変更します。(10.5を実行すると仮定します)。
情報は.plists(xml)に保存され/private/var/db/dslocal/
ます-ただし、plistファイルを手動で編集することは望ましくありません。