2012-05-03 182 views
0

捲曲結果讓我寫一個腳本,將捲曲我寫了一個網站,將返回一個字符串。我正在使用它來比較保存在文件中的值。我無法讓條件語句返回true以匹配值。bash腳本比較文件

這裏是我的bash代碼

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

if [[ "$var1" = "$var2" ]]; then 
    echo "TRUE" 
else 
    echo "FALSE" 
fi 

我已經手動看着這兩個字符串的一個片段,他們似乎是相同的。我已經完成了所有適用的選項。我已將這兩個值複製並粘貼到Notepad ++中,併爲預期的字符串進行了查找,並且它表示這兩個值都與find命令相匹配。

顯然,如果我手動將值條件返回true,所以我知道它不是我的條件語句。我的猜測是在curl的末尾有一些隱藏的字符...('\ r'或'\ n'或者我沒有意識到的東西)...或者可能在文件的末尾我不知道。試圖比較捲曲輸出和文件內容時,這是一個已知問題嗎?

這可能是一個愚蠢的問題,但對我的生活,我似乎無法獲得這些字符串匹配做動態的,而不是在條件硬編碼值。

任何建議將是偉大的。由於

+0

看看字符串中** ** hexdump都可以;) – delicateLatticeworkFever

回答

-1
$ 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