1
grep shutting log.log
什么也没有返回。
我的脚本如下
#!/bin/bash
FAIL=`grep shutting log.log`
if [ "$FAIL"="Binary file log.log matches" ]; then
echo FOUND
else
echo NOT FOUND
fi
我期待NOT FOUND但是又找到
grep shutting log.log
什么也没有返回。
我的脚本如下
#!/bin/bash
FAIL=`grep shutting log.log`
if [ "$FAIL"="Binary file log.log matches" ]; then
echo FOUND
else
echo NOT FOUND
fi
我期待NOT FOUND但是又找到
你必须把周围的=
操作空间在[ ... ]
表达;你写的是解释为[ string ]
,它测试string
是否非空。
但是在这里你不需要反引号和字符串比较。试试这个:
if grep -q shutting log.log
then echo FOUND
else echo NOT FOUND
fi
(。值得庆幸的是,这并没有-q
选项grep
系统早已消失在天空中的大位桶)
在您的测试,你需要周围的空间在=
:
#!/bin/bash
FAIL=`grep shutting log.log`
if [ "$FAIL" = "Binary file log.log matches" ]; then
echo FOUND
else
echo NOT FOUND
fi
你有if语句之前试过'回声$ FAIL'? –