В ShellScript присвоить переменную на основе вывода Curl - PullRequest
1 голос
/ 07 декабря 2011

Я пытаюсь написать сценарий оболочки, который назначит переменную для вывода curl.Вывод этой команды curl, когда я запускаю ее из командной строки, таков:

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

Переход по этому URL-адресу должен просто выводить текстовый документ с другим URL-адресом.Я хочу проверить, что этот второй 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

Однако, когда я запускаю скрипт, я получаю такой вывод:

       % 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

Если я пытаюсьчтобы распечатать URL, я получаю пустую строку.Я получаю это независимо от того, правильно ли соответствует строка или нет.Почему curl работает иначе, чем в командной строке.

1 Ответ

6 голосов
/ 07 декабря 2011

При назначении URL не должно быть пробелов, попробуйте следующее: -

url=$(curl -s ...)

note: curl -s - для подавления индикатора прогресса

...