shell脚本执行报错unexpected operator解决

shell脚本执行报错./mk.sh: 176: [: 0: unexpected operator,脚本权限没有问题:
在这里插入图片描述

原因可能是脚本里#!/bin/dash、#!/bin/bash和 #!/bin/sh兼容问题导致,标准系统支持的都是/bin/bash;

首先查看当前系统的bash或dash,以及sh软链接对应的是dash、还是bash:

root@netpower-PC:~# ls -l /bin/dash
-rwxr-xr-x 1 root root 169832 1月 18 2019 /bin/dash
root@netpower-PC:~#
root@netpower-PC:~# ls -l /bin/bash
-rwxr-xr-x 1 root root 1521256 12月 4 2019 /bin/bash
root@netpower-PC# ls -l /bin/sh
lrwxrwxrwx 1 root root 4 3月 7 09:14 /bin/sh -> dash

如果只有dash,则需要做软连接:

rm /bin/sh
ln -s /bin/dash /bin/sh

确认shell脚本中使用的是#!/bin/bash还是#!/bin/sh,如果是#!/bin/sh修改替换为#!/bin/bash试试:

#!/bin/bash

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值