2016-11-24 50 views
1

的比較輸出I有這樣的代碼:擊 - 兩個命令

#!/bin/bash 

CMDA=$(curl -sI website.com/example.txt | grep Content-Length) 

CMDB=$(curl -sI website.com/example.txt | grep Content-Length) 

if [ "CMDA" == "CMDB" ];then 
    echo "equal"; 
else 
    echo "not equal"; 
fi 

與此輸出

[email protected]:/var/www/html# bash ayy.sh 
not equal 

這應該是 「相等」,而不是 「不等於」。我做錯了什麼?

Thnaks

+1

你忘了那裏的變量'$'。這是你所需要的:'if [「$ CMDA」==「$ CMDB」];然後' – janos

+0

@janos謝謝,作品,如果你想你可以寫作thit作爲答案,所以我可以把它標記爲正確的 – tonakriz

+1

好吧,你去了。還提供了一些額外的提示。 – janos

回答

3

你忘了$的變量CMDACMDB存在的變量。這是你所需要的:

if [ "$CMDA" = "$CMDB" ]; then 

我也改變了==運營商=, 因爲man test只提到=, 而不是==

此外,你有一些冗餘的分號。整個事情有點清潔:

if [ "$CMDA" = "$CMDB" ]; then 
    echo "equal" 
else 
    echo "not equal" 
fi 
0

你是比較字符串 「CMDA」 與 「CMDB」,則應該比較使用$像$ {CMDA}