【发布时间】:2020-06-19 14:19:07
【问题描述】:
我正在尝试在循环中使用 curl 调用 rest api,如下所示。它不起作用并抛出错误curl: (6) Couldn't resolve host '$SERVERPROTOCOL:'
但是,如果替换所有环境变量并执行命令,那么它就可以正常工作。
有效的直接命令:
curl -X DELETE -k -H 'Content-Type: application/xml' -H 'Accept: application/xml' -u 'testuser:test123' -i 'https://nonprodhost:443/process/cancel/pvm:0a126'
Curl 在循环中抛出 - curl: (6) Couldn't resolve host '$SERVERPROTOCOL:'
for pi in $(cat $halted_pid);do
# write PID to console so user knows script is working
echo
echo "cacnelling process instance - $pi"
# 2>&1 to include any output on stderr
curl -X DELETE -k -H 'Content-Type: application/xml' -H 'Accept: application/xml' -u '$USERNAME:USERPASS' -i '$SERVERPROTOCOL://$SERVERHOST:$SERVERPORT/process/cancel/$pi' 2>&1 | tee -a $halted_pi_cancellation_logfile
done
【问题讨论】:
-
Bash 不会在单引号中插入变量。您可能还需要括号:stackoverflow.com/questions/17622106/…