Bash Shell脚本-CURL脚本返回错误

Bash Shell脚本-CURL脚本返回错误,bash,shell,ubuntu,curl,Bash,Shell,Ubuntu,Curl,这有点棘手。我有一个shell脚本来在JIRA中创建任务。我正在Ubuntu服务器上运行它(一个新手) 我在脚本中有一个变量,如下所示: SCRIPT="curl -D- -u $USER:$PASSWORD -X POST --data @$SAMPLE_FILE -H \"Content-Type: application/json\" $REST_URL" 我回显这个脚本,并使用$script我的shell脚本运行它。当我bash脚本时,它总是返回一个错误“curl:(6)无法解析主

这有点棘手。我有一个shell脚本来在JIRA中创建任务。我正在Ubuntu服务器上运行它(一个新手)

我在脚本中有一个变量,如下所示:

SCRIPT="curl -D- -u $USER:$PASSWORD -X POST --data @$SAMPLE_FILE -H \"Content-Type:   application/json\" $REST_URL"
我回显这个脚本,并使用$script我的shell脚本运行它。当我bash脚本时,它总是返回一个错误
“curl:(6)无法解析主机‘应用程序’”

但是,如果我试图单独运行打印的脚本(我附和),它会创建一个任务。我知道这是一个小问题,但我不能得到它

有什么建议吗?

如中所建议的,我们可以运行您的代码以自动检查常见问题:

$shell检查您的脚本
在脚本第1行:
SCRIPT=“curl…-H\”内容类型:application/json\“$REST\u URL”
^--SC2089:引号/反斜杠将按字面处理。使用数组。
在脚本第2行:
$SCRIPT
^--SC2090:不考虑此变量中的引号/反斜杠。
好的,那么:


如何在$SCRIPT中执行命令?我记不清了,但我记得有一些关于如何执行类似操作的警告。您可能还想尝试
exec“$SCRIPT”
exec$SCRIPT
$($SCRIPT)
。我需要在家里测试一下。还请使用
\“
$SAMPLE\u文件
$USER:$PASSWORD
进行转义,因为您无法确定它们是否包含空格。谢谢您的输入。我只是以$SCRIPT的形式运行了它。但我只是尝试了您的所有建议(exec“$SCRIPT”或exec$SCRIPT或$($SCRIPT)),但都没有成功。或者有更好的方法吗?
command=(curl -D- -u "$USER:$PASSWORD" -X POST --data "@$SAMPLE_FILE" -H "Content-Type:   application/json" "$REST_URL")

# Print what we'll execute:
printf "%q " "${command[@]}"
echo

# Execute it:
"${command[@]}"