echo $BASHはどのbashと衝突しますか?

echo $BASHはどのbashと衝突しますか?

最新のbashをインストールしましたが、

$ bash --version
GNU bash, version 4.4.23(1)-release (x86_64-apple-darwin18.0.0)

ディレクトリに常駐

$ which bash
/usr/local/bin/bash

それにもかかわらず環境

$ echo $BASH
/bin/bash

$BASHでどのように変更できますか/usr/local/bin/bash?ターミナルルーチンルーチンに古いbashを適用しますか?

答え1

この実行可能ファイルは実行可能ファイルで最初に見つかった実行可能ファイルであり、/usr/local/bin/bashこれを実行すると呼び出されます。bash$PATHbashbash --version

しかし、/bin/bash現在はインタラクティブシェルです。

これは、ログインシェルであるか、使用中の端末が明示的に起動するように構成されているためです/bin/bash

ログインシェルを変更するには、次のchshコマンドを使用します。 macOSでは、ユーザーとグループの設定でデフォルトのシェルを変更することもできます(リスト内のユーザーを右クリックして詳細オプションにアクセスします)。

答え2

whichcsh他のシェルに依存するスクリプトなので、.cshrc他のシェルでは間違っている可能性があります。

使用しないでwhichくださいtype

関連情報