bash - $BASH_VERSION 在 macOS 上报告旧版本的 bash,这是一个应该修复的问题吗?
问题描述
我安装了自制的 bash 包。当我打开一个新外壳时:
bash --version
给GNU 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
我想知道这是否是我应该为可能使用此环境变量的脚本解决的问题。
解决方案
这意味着您所在的外壳是 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
.
推荐阅读
- kubernetes - 无法将日志发送到 Graylog kubernetes
- sql-server - 为什么 SQL 内连接称为内连接,外连接称为外连接?
- java - 使用 Android 的媒体播放器处理播放声音
- javascript - 如何修复由内联中断引起的“无效或意外令牌”?
- python - ImportError:无法导入名称“RandomizedLogisticRegression”
- java - 在 nativescript 中编写 java 文件以使用本地 java lib
- html - CSS 和 Bootstrap:创建一条连接行的线
- react-native - 无法使用 react-native-calendars
- ubuntu - 在 Ubuntu 19.04 上安装 Redis-Commander 作为服务
- c - C 编程指针和数组