Ubuntu(>=22.04)修改默认的dash为bash,避免某些脚本出现unexpected operator错误

Ubuntu 22.04之后将dash作为了默认脚本。Dash 旨在遵循 POSIX 标准,因此它不包含许多 Bash 特有的扩展和功能,这使得许多 Bashisms(Bash 特有的语法和功能)是不支持的。

某些旧脚本执行会报错【unexpected operator】,在不方便修改脚本的情况下,可以考虑把Ubuntu的默认dash修改为bash。

1
2
3
4
5
6
7
# 方法1: 安装有 dialog 软件包,即有交互窗口的情况下
sudo dpkg-reconfigure dash
选择No回车

# 方法2: 没有软件窗口交互情况下,新建到bash的链接
sudo ln -s bash /bin/sh.bash
sudo mv /bin/sh.bash /bin/sh
  • 测试平台: Ubuntu 24.04