外观
Bash 版本演进
GNU Bash(Bourne-Again SHell)是绝大多数 Linux 发行版与容器镜像的默认 Shell。从 4.0 到 5.2,Bash 持续增强了关联数组、安全参数转换与现代化内置变量。
版本索引
Bash 5.3
- 发布时间: 2025 年 7 月
- 版本重点: 新增可在当前 Shell 环境执行的命令替换形式,减少传统子 Shell 带来的状态隔离。
Bash 5.2
- 发布时间: 2022 年 9 月
- 版本重点: 全新重构的命令替换(Command Substitution)解析引擎,大幅提升深层嵌套 $(...) 的解析准确度。
Bash 5.1
- 发布时间: 2020 年 12 月
- 版本重点: 引入 $SRANDOM 内置环境变量:由系统安全随机数(/dev/urandom)驱动,产生 32 位高质量随机数。
Bash 5.0
- 发布时间: 2019 年 1 月
- 版本重点: 引入 $EPOCHSECONDS 与 $EPOCHREALTIME 原生时间戳变量(微秒级精度),无需频繁 fork date 进程。
Bash 4.4
- 发布时间: 2016 年 9 月
- 版本重点: 引入参数变换 ${var@Q}:自动将变量内容转义为适合安全重用的 Shell 引号字符串。
Bash 4.0
- 发布时间: 2009 年 2 月
- 版本重点: 正式引入关联数组(declare -A array),支持基于字符串键名的哈希字典映射。
兼容性与跨平台提示
- macOS 默认自带的 Bash 停留在 Bash 3.2(由于 GPLv3 协议限制),因此在 macOS 上编写复杂脚本时,严禁使用 Bash 4.0+ 特性(如关联数组
declare -A、**递归匹配),或需通过 Homebrew 安装最新版 Bash。