Как я могу сохранить выходные данные curl в переменной grep и не записывать их в консоль? - PullRequest
0 голосов
/ 15 октября 2018

У меня есть сценарий оболочки (называемый apache cgi), который должен свернуть и отобразить результат, чтобы проверить работоспособность сервера.Это то, что у меня так далеко.

printf "Content-type: text/html\n"
PAGE="$(curl -v -u http://targetserver/xmlgatewayauth/login)"
CRES="$($PAGE|grep "login";)"
echo $CRES;

Если я запускаю скрипт в Linux как оболочку, то получается:

...
< Location: login_success.jsp
< Content-Length: 0
< Date: Mon, 15 Oct 2018 08:42:39 GMT
...

, но если я вызываю скрипт через CGI избраузер - результат пуст.Я тестировал CGI Script со статическим выводом, и он работал.(Hello World).

Проблема в том, что я не хочу, чтобы скрипт выводил что-либо, кроме переменной "CRES".Но он выводит весь консоль (grep) (не переменную) на консоль и не выводит переменную на веб-сайт.

Как решить проблему?

1 Ответ

0 голосов
/ 15 октября 2018

Проблема в том, что вы печатаете строку 1 перед другими строками.Поэтому измените порядок следующим образом:

PAGE="$(curl -v -u http://targetserver/xmlgatewayauth/login)"
CRES="$($PAGE|grep "login";)"
echo $CRES;
printf "Content-type: text/html\n"

или

PAGE="$(curl -v -u http://targetserver/xmlgatewayauth/login)"
CRES="$($PAGE|grep "login";)"
printf "Content-type: text/html\n"
echo $CRES;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...