web-dev-qa-db-ja.com

Macで使用しているシェル

私のMacのデフォルトのシェルはbashでした。
コマンドchsh -s /bin/zshでZSHに変更しようとしました。

シェルタイプを確認しようとすると、さまざまな応答が返されます。

コマンド-1

入力:echo $Shell
出力:/bin/zsh

コマンド-2

入力:ps $o
出力:7655 ttys002 0:00.03 -bash

コマンド-3

入力:ps -p $$ | awk '$1 == PP {print $4}' PP=$$
出力:-bash

使用しているシェルがわかりません。シェルを[〜#〜] zsh [〜#〜]に変更するには、何か追加の操作が必要ですか?.

11
shantanu

macOSのターミナルでは、環境設定でシェルを指定できます。デフォルトでは、ログインシェルを使用するように設定されていますが、Bashを使用するようにオーバーライドしたようです。

ターミナルの設定の「一般」タブで、「デフォルトのログインシェル」に設定して、ログインシェルが上書きされないようにします。

Terminal's settings

また、プロファイルの設定の[Shell]タブで[Run command]チェックボックスがオフになっていることを確認してください。

Profile settings

標準のTerminal.appを使用していて、 NobodyNadaの役立つ回答 で説明されているように、デフォルトのログインシェルを使用するように構成されていることを確認したと仮定します。

シェルが現在実行中(デフォルトのシェルである場合とそうでない場合がある)を確認するには、次のコマンドを使用します。

ps -o comm= $$

defaultシェルがどのシェルかを確認するには、次のコマンドを実行します。

echo "$Shell"
12
mklement0