2016-11-24 83 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}