解决Ubuntu下编译.sh文件报错 “[: XXXX: unexpected operator”

scadm 2021年4月25日00:22:57
评论
752 339字

今天拿了个在CentOS下编译好的sh脚本放在Ubuntu下运行,结果提示错误"[: XXXX: unexpected operator"。只要是脚本中有出现[]的地方都报错。

+ [ 64x == 64x -a trusty == precise ]
xxx.sh: 13: [: 64x: unexpected operator
+ [ 64x == 64x -a trusty == trusty ]
xxx.sh: 21: [: 64x: unexpected operator

上网查了资料发现,因为Ubuntu默认的sh是连接到dash的,而dash跟bash的不兼容所以出错。既然原因找到,那么就可以把默认连接改成bash即可

$  sudo dpkg-reconfigure dash

运行命令后会出现配置框,选择NO即可。

再次编译文件,通过。

scadm
  • 本文由 发表于 2021年4月25日00:22:57
  • 转载请务必保留本文链接:https://www.wscyun.com/911
Jenkins-2.319 安装部署 运维

Jenkins-2.319 安装部署

Jenkins持续集成简介 持续集成(Continuous Integration,CI|CD)是一种软件开发实践,对于提高软件开发效率并保障软件开发质量提供了理论基础,持续集成意义如下: 持续集成中...
自动化装机工具-kickstart 运维

自动化装机工具-kickstart

导言 作为中小公司的运维,经常会遇到一些机械式的重复工作,例如:有时公司同时上线几十甚至上百台服务器,而且需要我们在短时间内完成系统安装。 常规的办法有什么? 光盘安装系统===>一个服务器DV...
自动化装机工具-cobbler 服务器

自动化装机工具-cobbler

在看Cobbler之前请大家先看一下Kickstart无人值守安装,了解一下Cobbler的实现原理。但是Cobbler是独立的,不需要先安装Kickstart然后再安装Cobbler,这是写给不了解...