используйте переменную между двумя вопросительными знаками в опции команды в скрипте bash - PullRequest
0 голосов
/ 03 марта 2020

вот два примера: это пример, который может вызвать ошибку 400

curl -i -k -u $account:password -H "Content-Type: application/json" -X PUT -d '{"source-path": "http://${ip}/LTMBlackList_Postbody${filename_extension}","type":"ip"}' https://$ip2$api2

, и это нормальный вариант, он может получить ответ 200 OK:

curl -i -k -u $account:$password -H "Content-Type: application/json" -X PUT -d '{"source-path": "http://127.0.0.1/LTMBlackList_Postbody-test.log","type":"ip"}' https://$ip2$api2

Как я мог вызвать команду curl в сценарии с переменной?

1 Ответ

1 голос
/ 03 марта 2020

$ip не раскрывается, поскольку находится в одинарных кавычках. Сначала закрывайте одинарные кавычки, затем делайте двойные кавычки, раскрывайте переменную, закрывайте двойные кавычки и оставляйте одинарные кавычки.

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

curl -i -k -u "$account:$password" -H "Content-Type: application/json" -X PUT \
-d '{"source-path": "http:/'"$ip"'/LTMBlackList_Postbody'"$filename_extension"'","type":"ip"}' "https://$ip2$api"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...