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'? –