Bash - 比较两个命令的输出

时间:2016-11-24 19:09:24

标签: linux bash curl terminal string-comparison

我有这段代码:

#!/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

使用此输出

root@abcd:/var/www/html# bash ayy.sh
not equal

应该是"相等"而不是"不等于"。我做错了什么?

Thnaks

2 个答案:

答案 0 :(得分:4)

您忘记了变量$CMDA的{​​{1}}。这就是你需要的:

CMDB

我还将if [ "$CMDA" = "$CMDB" ]; then 运算符更改为==, 因为=只提到man test, 而不是=

另外,你有一些冗余的分号。整件事情有点干净:

==

答案 1 :(得分:0)

您正在比较字符串" CMDA"使用" CMDB",您应该使用$来比较变量,如$ {CMDA}