Bash脚本将curl结果与文件进行比较

Bash脚本将curl结果与文件进行比较,bash,shell,curl,cat,Bash,Shell,Curl,Cat,因此,我正在编写一个脚本,它将卷曲我编写的站点,并返回一个字符串。我使用它来比较保存在文件中的值。我很难让条件语句为匹配值返回true 下面是我的bash代码片段 var1=$(curl -s -w %{http_code}\\n www.somesite.com) var2=$(cat somefile) if [[ "$var1" = "$var2" ]]; then echo "TRUE" else echo "FALSE" fi 我已经手动查看了这两个字符串,它们似乎

因此,我正在编写一个脚本,它将卷曲我编写的站点,并返回一个字符串。我使用它来比较保存在文件中的值。我很难让条件语句为匹配值返回true

下面是我的bash代码片段

var1=$(curl -s -w %{http_code}\\n www.somesite.com)
var2=$(cat somefile)

if [[ "$var1" = "$var2" ]]; then
    echo "TRUE"
else
    echo "FALSE"
fi
我已经手动查看了这两个字符串,它们似乎是相同的。我已经用它完成了所有适用选项的wc。我已经将这两个值复制并粘贴到Notepad++中,并对期望的字符串进行了查找,结果显示这两个值都与find命令匹配

显然,如果我手动将值放入条件中,它将返回true,因此我知道它不是我的条件语句

我猜在curl的结尾有某种类型的隐藏字符…“\r”或“\n”或我不知道的东西…或者可能在我不知道的文件结尾。在尝试比较curl输出和文件内容时,这是一个已知问题吗

这可能是一个愚蠢的问题,但就我的一生而言,我似乎无法让这些字符串动态匹配,而不是在条件中硬编码值

任何建议都很好。谢谢

看看hextump中的字符串;
$ diff -q -b <(echo $'abc\ndef') <(echo $'abc\r\ndef') > /dev/null ; echo $?
0
$ diff -q -b <(echo $'abc\ndef') <(echo $'abc\r\nde') > /dev/null ; echo $?
1