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

3 篇文章 0 订阅
1 篇文章 0 订阅

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值