Linux,将文件内容与文本字符串进行比较

Linux,将文件内容与文本字符串进行比较,linux,echo,wget,contain,Linux,Echo,Wget,Contain,我在linux代码方面遇到了一些问题: FILE=$(wget 'https://dl.dropbox.com/s/ru72h4b984qpxxq/spotify.txt' -q -O -) if [ "$FILE" == "| |" ] then echo "File is a match" 我不相信这句话是真的。你介意检查一下url的内容,告诉我垂直线或间距是否有问题吗?谢谢你的帮助。@MarkB的观点很好理解:人们通常在[]中使用=单等号。但是,您的情况中的具体问题似乎是wget返

我在linux代码方面遇到了一些问题:

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

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

我不相信这句话是真的。你介意检查一下url的内容,告诉我垂直线或间距是否有问题吗?谢谢你的帮助。

@MarkB的观点很好理解:人们通常在
[]
中使用
=
单等号。但是,您的情况中的具体问题似乎是
wget
返回了一个杂散的
\r
回车字符。你可以看到这个

echo "$FILE" | hexdump -C
假设您已经安装了BSD实用程序(您可能已经安装了)

这里有一个修正:

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

@MarkB的观点是正确的:人们通常在
[]
中使用
=
单个等于。但是,您的情况中的具体问题似乎是
wget
返回了一个杂散的
\r
回车字符。你可以看到这个

echo "$FILE" | hexdump -C
假设您已经安装了BSD实用程序(您可能已经安装了)

这里有一个修正:

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

[
命令使用
=
进行字符串的相等性测试,而不是
=
[
命令使用
=
进行字符串的相等性测试,而不是
=