在ShellScript中基于卷曲输出分配变量

时间:2011-12-07 16:11:28

标签: linux bash shell curl

我正在尝试编写一个shellcript,它将为curl输出分配一个变量。当我从命令行运行它时,此curl命令的输出是:

$curl "test.test.com/landing/505978290?c=Area%20Rug"
www.test.com/test/test?test=test

转到此网址应该只是输出另一个网址的文本文档。我想测试第二个url是它应该是的url。

   url = $(curl "test.test.com/landing/505978290?c=Area%20Rug")
   if [$url -gt "www.tazinga.com/landing/505978290?c=area%20rug&si=gw&alt_css=silver&sv=34&"]         echo ""test.test.com/landing/505978290?c=Area%20Rug did not redirect properly"
    else
        echo "Right URL"
    fi

然而,当我运行shellscript时,我得到了这个输出:

       % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100    75    0    75    0     0    997      0 --:--:-- --:--:-- --:--:--  1013
Command not found. 
-bash: [: missing `]'
yes

如果我尝试打印出网址,我会收到一个空字符串。无论字符串是否正确匹配,我都会得到这个。为什么curl在shellcript中的操作方式与命令行不同。

1 个答案:

答案 0 :(得分:6)

分配网址时不应有空格,请尝试以下方法: -

url=$(curl -s ...)

注意:curl -s是要取消进度表