ubuntu系统下节点shell命令兼容性导致的安装失败
问题描述
ubuntu系统下安装边缘节点失败,报错如下图所示,主要错误信息为:Syntax error: "(" unexpected (expecting "}")。
原因
出现该问题的原因为ubuntu系统下默认的shell为dash,安装脚本中使用的/bin/sh在ubuntu下默认指向/bin/dash,dash对于命令()不支持,所以导致安装执行失败。dash是不同于bash的shell,它主要是为了执行脚本而出现,而不是交互,它速度更快,但功能相比bash要少很多,语法严格遵守POSIX标准。
规避方法
- 修改ubuntu的默认shell,执行以下命令。
sudo dpkg-reconfigure dash
- 交互界面中选择“No”。
图2 修改ubuntu默认sh
- 执行完,出现如下提示表示已经切换为bash,如下图:
图3 切换bash成功