BASH_VERSINFO与bash --version显示版本不一致问题求助
解决BASH_VERSINFO与bash --version版本不一致的问题
看来你碰到了BASH_VERSINFO环境变量和bash --version输出版本不匹配的问题,这在使用Homebrew管理bash版本的Mac环境里挺常见的。你已经尝试把Homebrew安装的bash(/usr/local/Cellar/bash/4.4.19/bin/bash)复制到which bash指向的/usr/local/bin/bash路径,先把你的操作和输出整理清楚:
你的操作及对应输出
- 查看系统可用Shell列表:
cat /etc/shells
输出:
/usr/local/Cellar/bash/4.4.19/bin/bash
- 查看当前bash版本:
bash --version
输出:
GNU bash, version 4.4.19(1)-release (x86_64-apple-darwin17.3.0)
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
后续解决步骤
你已经完成了替换bash可执行文件的关键一步,但当前终端会话可能还在运行旧的bash实例,所以BASH_VERSINFO可能还没更新。可以按以下步骤操作:
- 刷新当前Shell进程:在终端执行
exec bash,这会用新的/usr/local/bin/bash替换当前的Shell进程,之后再查看echo $BASH_VERSINFO应该就和bash --version一致了。 - 设置为默认Shell:如果希望每次打开终端都使用这个版本的bash,执行
chsh -s /usr/local/bin/bash,输入你的用户密码后重启终端即可。 - 验证结果:执行以下命令确认版本匹配:
echo $BASH_VERSINFO # 应该输出包含4.4.19的版本数组 bash --version # 确认版本为4.4.19(1)-release echo $0 # 确认当前Shell路径为/usr/local/bin/bash
内容的提问来源于stack exchange,提问作者quantumpotato
相关产品推荐
相关产品推荐

