【发布时间】:2018-06-28 14:34:44
【问题描述】:
为什么当我在 ssh 会话中使用 curl 时它运行良好,但是当我在 shell 脚本中使用它时它返回错误。
在 ssh 会话中:
[root@XXXX scripts]# export host_name="http://XXXX:number_port"
[root@XXXX scripts]# echo "curl -u GET ${host_name}/application/listteam"
curl -u GET http://XXXX:number_port/application/listteam
但是当我在 shell 脚本中使用它时:
list_team=$(curl GET "${host_name}/application/listteam")
echo "$list_team"
返回:
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (6) Could not resolve host: GET; Name or service not known
curl: (3) <url> malformed
我看到无法解析主机,但是为什么当我尝试 ssh 会话时它可以工作?
有什么想法吗?
【问题讨论】:
-
是不是因为你用
name_host而不是host_name? -
您可以在脚本中使用
set -x查看实际执行的命令,包括参数扩展。 -
@BenjaminW。不,我编辑了我的问题
-
您需要在minimal reproducible example 中显示完整的脚本。
-
如何使用 set -x ?