Что не так с сценарием оболочки для команды curl post - PullRequest
0 голосов
/ 03 марта 2020

Мне нужна помощь в понимании того, что не так с приведенным ниже сценарием оболочки, все, что он делает, - это выполнение сценария curl с использованием shell scripting и поиск строки domain_id в выходных данных команды curl, как только он находит искать все, что он делает, он просто отображает valid url

Ниже приведен полный код скрипта оболочки

#!/bin/sh
# Black Box Tester!
url=”https://api.platform.abc.com/auth/oauth/token“
content=”$(curl  --location --request POST “$url” --header 'Content-Type:    
application/x-www-form-urlencoded' --header 'Authorization: Basic   
V0pSWURISA==' --data-raw 'grant_type=password&username=event-
player1@abc.com&password=********' | grep domain_id”
 if [ ! -z $content ] && [ $content -eq domain_id ]
then
echo “valid url”
else
echo “invalid url”
fi

Ниже приведена ошибка, которую я получаю в консоли после попытки выполнить скрипт

WS-126691A:loginimagedocker carolyn$ ./login.sh
./login.sh: line 4: unexpected EOF while looking for matching `)'
./login.sh: line 11: syntax error: unexpected end of file

1 Ответ

0 голосов
/ 03 марта 2020

Вы пытаетесь передать параметр в несколько строк без указания конца строки.

используйте \ для передачи многострочного аргумента

#!/bin/sh
# Black Box Tester!
url=”http://api.platform.abc.com/auth/oauth/token“
content=”$(curl  --location --request POST “$url” --header 'Content-Type: \
application/x-www-form-urlencoded' --header 'Authorization: Basic    \
V0pSWURISA==' --data-raw 'grant_type=password&username=event- \
player1@abc.com&password=********' | grep domain_id” )

 if [ ! -z $content ] && [ $content -eq domain_id ]
then
echo “valid url”
else
echo “invalid url”
fi
...