Bash - 比较两个命令的输出
Bash - comparing output of two commands
我有这个代码:
#!/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
应该是 "equal" 而不是 "not equal"。我做错了什么?
谢谢
您正在比较字符串 "CMDA" 和 "CMDB",您应该使用 $ like ${CMDA}
来比较变量
您忘记了变量 CMDA
和 CMDB
的 $
。这就是您所需要的:
if [ "$CMDA" = "$CMDB" ]; then
我还将 ==
运算符更改为 =
,
因为 man test
只提到 =
,
而不是 ==
.
此外,您还有一些多余的分号。整个事情有点干净:
if [ "$CMDA" = "$CMDB" ]; then
echo "equal"
else
echo "not equal"
fi
我有这个代码:
#!/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
应该是 "equal" 而不是 "not equal"。我做错了什么?
谢谢
您正在比较字符串 "CMDA" 和 "CMDB",您应该使用 $ like ${CMDA}
来比较变量您忘记了变量 CMDA
和 CMDB
的 $
。这就是您所需要的:
if [ "$CMDA" = "$CMDB" ]; then
我还将 ==
运算符更改为 =
,
因为 man test
只提到 =
,
而不是 ==
.
此外,您还有一些多余的分号。整个事情有点干净:
if [ "$CMDA" = "$CMDB" ]; then
echo "equal"
else
echo "not equal"
fi