Я пытаюсь написать сценарий оболочки, который вызывает два API, используя curl.
Один из ключей вывода JSON первого curl передается второму curl.В приведенном ниже скрипте Bash я передаю токен в качестве параметра командной строки первому curl, и он работает нормально.
Выход первого скручивания извлекается в client_token
, а я передаю его второмулокон.Это терпит неудачу.
Причина в том, что где бы у меня не было $client_token
, значение подставляется как "value"
(с кавычками) вместо value
(без кавычек).Curl ожидает строки без кавычек во втором curl.Как мне избавиться от двойных кавычек?
echo $1
XVaultToken=`curl -X POST "https://sub.domain.tld:8200/login" -d '{"token":"'"$1"'"}'`
client_token=`echo $XVaultToken|jq '.auth.client_token'
echo $client_token
apiKey=`curl -X GET https://sub.domain.tld:8200/api-key -H 'X-Vault-Token: "'"$client_token"'"'`
#apiKey=`curl -X GET https://sub.domain.tld:8200/api-key -H 'X-Vault-Token: $client_token'`
echo "apikey"