首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >shell脚本中的Runnig curl提供了一个curl:(6)无法解析主机: error

shell脚本中的Runnig curl提供了一个curl:(6)无法解析主机: error
EN

Unix & Linux用户
提问于 2022-11-11 14:30:38
回答 1查看 550关注 0票数 1

当我运行这个命令时,它工作得很好:

代码语言:javascript
复制
# curl  https://google.com

产出:

代码语言:javascript
复制
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="https://www.google.com/">here</A>.
</BODY></HTML>

但是,当我在shell脚本.sh文件中执行相同的操作时:

代码语言:javascript
复制
#!/bin/bash

curl  https://google.com

产出:

代码语言:javascript
复制
curl: (6) Could not resolve host: google.com; Unknown error

grep curl /home/pmm/deploy-vsf/test_bot.sh | od -c的输出:

代码语言:javascript
复制
[root@host ~]# grep curl /home/pmm/deploy-vsf/test_bot.sh | od -c
0000000   c   u   r   l           h   t   t   p   s   :   /   /   g   o
0000020   o   g   l   e   .   c   o   m  \n
0000031

注意:脚本正在以su的形式运行,但是脚本驻留在pmm用户的家中

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2022-11-11 18:03:29

您的交互式shell 正在使用别名用于curl,它告诉它使用特定的web代理:

代码语言:javascript
复制
type curl
curl is aliased to `curl -x 192.168.188.170:3128'

运行脚本时,不包括别名(它们主要用于交互使用),因此您需要自己指定缺少的部分。

代码语言:javascript
复制
#!/bin/bash
curl -x 192.168.188.170:3128 https://google.com

更好的解决方案可能是设置环境变量http_proxy而不是混叠curl。这将适用于几乎所有的web工具(但也不能跨susudo使用,除非目标用户也定义它):

代码语言:javascript
复制
export http_proxy=192.168.188.170:3128
票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/724496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档