解决Ubuntu下运行shell文件报错 “[:XXXX: unexpected operator”的问题

问题描述:
在Ubuntu下运行shell文件,文件中有判断语句[ x == xxxx ]时,运行结果会报错,如下图:
在这里插入图片描述
程序中写了判断语句[ x == xxxx ]如下图:
解决Ubuntu下运行shell文件报错 “[:XXXX: unexpected operator”的问题_第1张图片
分析原因:
因为Ubuntu默认的shell是连接到dash的,而我们在文件开始的时候是指定文件使用bash,如下图:
在这里插入图片描述
又因为dashbash的不兼容所以造成了系统运行.sh文件的时候出错了。

解决方法:
①输入 sudo dpkg-reconfigure dash 修改Ubuntu解释器默认连接到bash,如下图:
在这里插入图片描述
②通过键盘上的方向键来选择光标移动到 No,然后按下 enter 键确认选择。
解决Ubuntu下运行shell文件报错 “[:XXXX: unexpected operator”的问题_第2张图片
③系统提示移除了dash相关选项,添加了bash相关选项。
在这里插入图片描述
④重新运行程序,不再报错,程序运行结果正确,问题解决。
在这里插入图片描述

你可能感兴趣的:(Ubuntu,Linux,shell,script,Linux,Ubuntu,shell,script,bash)