curl:(3)在URL中找到非法字符:$ {...%?}不起作用

时间:2017-04-25 11:11:59

标签: bash curl

我一直在寻找解决问题的方法,特别是在https://stackoverflow.com的4个帖子中,他们的标题中有相同​​的错误名称,但解决方案对我不起作用

我想在Bash脚本中组合几个简单的cURL请求。无论请求是什么,文件末尾的请求始终有效。但是在返回错误之前请求:

  

卷曲:(3)在网址

中找到非法字符

我很确定它与我文件中的回车有关。但我不知道如何处理它。正如我在下面的图片中所示,我尝试使用${url1%$'\r'}。我也试过了ConfigurationManager.AppSettings["Data"],但它并没有改变任何东西。

终端文件+结果的屏幕截图:

screenshot of file + results in terminal

有什么想法吗?

1 个答案:

答案 0 :(得分:4)

如果您的行以\r结尾,则从\r剥离$url将无效,因为该行

curl -o NUL "{url1%?}

也以\r结尾,再次附加到url参数。

注释掉\r,即

url1="www.domain.tld/file"
curl -o NUL "${url1%?}" #

url1="www.domain.tld/file" #
curl -o NUL "$url1" #

或在执行文件之前转换文件

tr -d '\r' < test.sh > testWithoutR.sh