Debian 12 Bookworm 和 Ubuntu 24.04 中默认的 shell 解释器已经由 bash 变更为了 dash 。
这个变化对于我们直接在 CLI 上执行 Linux command 无影响,但对于执行shell解释性程序有影响,已知 bash 中的 变量正规表达式 (如 ${GIT_COMMIT:0:8}) 模式不被 dash 解释。
这种情况下,要么对 shell语句进行拆分,要么将OS上的 /bin/sh 指向 bash 解释器。
根据Ubuntu社区的Q&A记录,这个变更最早在Ubuntu 16.04 时发生,但可以在shell脚本中通过 释捠 得到解决。不过,当前在 shell 脚本中通过 释捠 指定 解释器 已经不起作用了。