Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 如何解决旋度:(6)不能';不解析主机_Bash_Curl - Fatal编程技术网

Bash 如何解决旋度:(6)不能';不解析主机

Bash 如何解决旋度:(6)不能';不解析主机,bash,curl,Bash,Curl,我试图在循环中使用curl调用RESTAPI,如下所示。它不工作并抛出错误curl:(6)无法解析主机“$SERVERPROTOCOL:” 然而,若替换所有环境变量并执行命令,那个么它就可以正常工作 工作的直接命令: curl -X DELETE -k -H 'Content-Type: application/xml' -H 'Accept: application/xml' -u 'testuser:test123' -i 'https://nonprodhost:443/process/c

我试图在循环中使用curl调用RESTAPI,如下所示。它不工作并抛出错误
curl:(6)无法解析主机“$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)无法解析主机“$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

为什么我认为问题是单引号?尝试用双引号替换单引号

(参考资料:)

转换为:

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

Bash不在单引号中插入变量。您可能还需要括号:
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