0
我有一个curl命令,我想从shell脚本内部执行。 我的脚本如下:变量不在linux内部的curl命令中扩展
iddn="`jq -r '.APPID_DN' /scr/resp.json`"
appid = `echo "$iddn" | awk -F',' '{print $1}'`
id =`echo $appid | awk '{print substr($0,4)}'`
apppwd = `jq -r '.APPID_PWD' /scr/resp.json`
tnname = `jq '.tnName' /scr/resp.json`
curl -i --user "$id":"$apppwd" -H "Content-Type: application/xml" -H "Accept: application/xml" -H "X-USER-IDENTITY-DOMAIN-NAME: tn11" --request GET "http://hostname.XX.XXXX.com:port/XXX/services/rest/version/auth/administrator/Clients"
但我得到以下错误 HTTP/1.1 401未经授权 未授权。提供授权标题。
我试图呼应命令来查看curl命令是如何形成的,我得到它(用户ID和passwd没有通过的话),
curl -i --user -H "Content-Type: application/xml" -H "Accept: application/xml" -H "X-USER-IDENTITY-DOMAIN-NAME: tn11" --request GET "http://hostname.XX.XXXX.com:port/XXX/services/rest/version/auth/administrator/Clients"
但是,如果我直接运行相同的命令从命令行,其运行良好。请帮助。
问候, 史尔皮
'echo $ id',等等......从那里开始,追溯问题出处。 – 2015-03-25 09:48:24
“我试着回应” - 以及“:”发生了什么? ..:/ – 2015-03-25 09:52:37
这可能有所帮助:https://stackoverflow.com/questions/32273446/encode-url-variable-with-curl 可悲的是,我还无法测试它 – Shushiro 2017-11-08 11:44:33