跳转到正文

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。