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当前就是您的交互式 shell。

这可能是因为它是您的登录 shell,或者您使用的终端已配置为/bin/bash显式启动。

要更改您的登录 shell,请使用以下chsh命令。在 macOS 上,您还可以在“用户和组”首选项中更改默认 shell(通过右键单击列表中的用户访问“高级选项”)。

答案2

which是一个csh依赖于其他 shell 的脚本.cshrc,因此对于其他 shell 来说可能是错误的。

不要使用which而是使用type.

相关内容