今天拿了个在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即可。
再次编译文件,通过。

聂扬帆博客
一个分享IT运维相关工作经验和实战技巧的个人博客
您可以选择一种方式赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助
赏