我有一个curl命令,我想从shell脚本中执行。 我的脚本如下:
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命令是如何形成的,我得到它(userid和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"
但是如果我直接从命令行运行相同的命令,它运行正常。请帮忙。
此致 史尔皮
答案 0 :(得分:1)
id =`echo $appid | awk '{print substr($0,4)}'` apppwd = `jq -r '.APPID_PWD' /scr/resp.json`
您不得在=
中将空格放在shell变量赋值中。