2012-09-03 76 views
1

我在與該位的Linux的代碼麻煩:Linux中,文件內容比較文本字符串

FILE=$(wget 'https://dl.dropbox.com/s/ru72h4b984qpxxq/spotify.txt' -q -O -) 

if [ "$FILE" == "| |" ] 
then 
echo "File is a match" 

我不能讓這種說法是真實的。你會介意檢查網址的內容,並告訴我,如果我在垂直線或間距上做錯了什麼?謝謝你的幫助。

+3

的'['命令使用'='的字符串的平等測試,不''==。 –

回答

5

@MarkB的觀點很好:通常使用=單等於[]。但是,您的案例中的具體問題似乎是wget正在返回一個流浪的\r回車符。你可以看到

echo "$FILE" | hexdump -C 

假設你已經安裝了BSD工具(你可能會這麼做)。

這裏有一個修復:

FILE=$(wget 'https://dl.dropbox.com/s/ru72h4b984qpxxq/spotify.txt' -q -O - | sed 's/\r//')