shell IF命令报错

if命令

代码如下:

a=$(file /file/videoclip.aar)
b=$(file /filed/videoclip.aar)
#统计当前目录下文件个数
if [$a -eq $b];then
    echo "文件一样正确"
else
    echo "文件不一样"
fi

报错:没有那个文件或目录

我按照报错确定两个文件夹内是有该文件的

(场景:因为我写测试的的时候,在同一个目录里面放了两个文件,通过file命令输出字符串,然后if使用-eq比较输入的变量)

错误原因:if[判断],判断内容因为是变量,变量会被转译成字符串,然后字符串需要使用“”“”括起来才能被shell识别

而且参数最好使用{}引起来

然后判断里面字符错误解决了

报错

网上一查才知道,-eq是判断数字和布尔值的

我这两个字符串,他根本能用-eq,必须用==

然后就成功了!

 

最后附上,检查文件类型的shell吧

b=$(file /file/videoclip.aar|grep "${Zip}")
#判断是否为zip文件
if [ "${b}" != "" ];then
    echo "文件一样正确"
else
    echo "文件不一样,中断程序"
fi
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值