【发布时间】:2019-08-08 20:40:26
【问题描述】:
尝试对测试页运行 curl 命令会导致“未指定 URL!”尝试通过 bash 脚本运行时。这是一个通过代理运行的测试(代码示例中为 1.2.3.4)
命令从命令行按预期运行。我已经在命令的组件周围尝试了一些引号变体,但仍然管理相同的“未指定 URL”结果。
echo $(curl -x http://1.2.3.4:80 https://example.company.com)
预期的结果是一个 HTML 文件,但是当从这个小 bash 脚本文件运行时仅发现上述问题。
命令本身在命令行中运行“curl -x http://1.2.3.4:80https://example.company.com”即可。
提前感谢您提供的任何帮助!
我已经将其编辑为以下内容。其他所有内容都被注释掉了。还是一样的错误。
#!/bin/bash
curl -x http://1.2.3.4:80 https://example.company.com
【问题讨论】:
-
使用
echo $(somecommand)几乎总是一种反模式;直接运行命令即可。但这不应该导致这个问题。请提供minimal reproducable example。也就是说,复制您的脚本,并删除其中不相关的部分(进行测试以确保它仍然显示问题 - 如果问题消失,那么您刚刚取出的内容实际上并不是无关紧要的,需要放回去)。当它只需要显示问题的最低限度时,将其编辑到您的问题中(以代码格式)。 -
您确定代理字符串和URL之间的空格实际上是脚本内部的空格吗?
-
@root 不知何故这确实是问题所在。我假设是由于在 Notepad++ 中将 EOL 转换为 Unix 友好造成的?无论哪种方式,删除“空间”并重新添加它都可以解决问题。谢谢。