首页 > 解决方案 > $BASH_VERSION 在 macOS 上报告旧版本的 bash,这是一个应该修复的问题吗?

问题描述

我安装了自制的 bash 包。当我打开一个新外壳时:

bash --versionGNU bash, version 5.0.7(1)-release (x86_64-apple-darwin18.5.0)

which bash/usr/local/bin/bash按预期给出。

但:

echo $BASH_VERSION产量3.2.57(1)-release

我想知道这是否是我应该为可能使用此环境变量的脚本解决的问题。

标签: bashmacos

解决方案


这意味着您所在的外壳是 Bash 3.2,但bash指向 Bash 5.0。尝试bash然后,在新的 shell 中,echo $BASH_VERSION我猜它会是 5.0。要更改您的登录 shell,请添加/usr/local/bin/bash/etc/shells更改默认 shell

chsh -s /usr/local/bin/bash
sudo chsh -s /usr/local/bin/bash

注销并重新登录后,$BASH_VERSION应该更新。

至于shebang线,我推荐

#!/usr/bin/env bash

因为它是可移植的,并且会在你的$PATH.


推荐阅读