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