此问题已在此处有答案:
Difference between single and double quotes in Bash(7个回答)
2天前关闭。
我在shell脚本中执行以下命令:
CURL_RESPONSE=`curl --request POST "$1" --header 'Content-Type: application/x-www-form-urlencoded' --data-urlencode 'grant_type="$4"' --data-urlencode 'scope=operator test' --data-urlencode 'client_id=$2' --data-urlencode 'client_secret=$3' -s
但是当我运行脚本时,出现以下错误:
`curl Response is {"code":"400","description":"Invalid grant_type. Only client_testcred is accepted"}
`
实际上,我传递的client_testcred是4美元。
CURL_RESPONSE=`curl --request POST "$1" --header 'Content-Type: application/x-www-form-urlencoded' --data-urlencode 'grant_type="$4"' --data-urlencode 'scope=operator test' --data-urlencode 'client_id=$2' --data-urlencode 'client_secret=$3' -s
甚至我尝试了下面的命令使用args,但不工作:args=(--request POST "$1" --header 'Content-Type: application/x-www-form-urlencoded' --data-urlencode 'grant_type=client_credentials' --data-urlencode 'scope=operator supervisor' --data-urlencode 'client_id=$2' --data-urlencode 'client_secret=$3' -s) CURL_RESPONSE=
curl“${args[@]}"``
我希望在CURL_RESPONSE中输出一个令牌。
1条答案
按热度按时间svgewumm1#
您没有正确传递
$4
。试试这个: