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成功
节点管理 所有常见问题
- 安装专业版节点异常如何处理?
- 安装专业版节点,执行安装命令时失败,一直提示“edgedaemon not found"?
- 安装专业版节点失败,提示“edge_core has existed”,该如何处理?
- 专业版节点所在机器断网/断电一段时间后恢复,节点模块一直处于“部署中”怎么处理?
- 专业版节点欠费充值后,部署、升级模块仍然报错?
- MQTT设备无法接入边缘节点如何处理?专业版节点所在机器断网/断电一段时间后恢复,节点模块一直处于“部署中”怎么处理?
- 误删除IoTDA上的edge_node/modbus_server产品后,在边缘服务创建节点/添加Modbus设备失败,该怎么处理?
- 边缘节点离线排查指南
- 修改专业版(Docker)或基础版节点的云端日志级别,但没有生效?
- ubuntu系统下节点shell命令兼容性导致的安装失败
more