2017-04-25 89 views
0

我一直在寻找解决方案来解决我的问题,特别是在https://stackoverflow.com的4个帖子中标题中的错误名称相同,但解决方案对我无效。

我想在Bash脚本中做几个简单的cURL请求。无论请求是什么,文件末尾的请求总是有效的。然而,在返回错误之前请求:

curl: (3) Illegal characters found in URL

我很确定它与我的文件中的回车有关。但我不知道如何处理它。正如我在下面的图片中显示的,我尝试使用${url1%?}。我也试过${url1%$'\r'},但它没有改变任何东西。在终端文件+结果

截图:

screenshot of file + results in terminal

任何想法?

+0

对不起......我没有看到现有的转换前问题,因为我正在寻找有关卷曲的问题。 –

回答

2

如果您的线条与\r结束,从$url剥去\r将无法​​正常工作,因为线

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 
+0

该评论不起作用(终端仍然检测到它),但你最后的伎俩,谢谢。你知道为什么这个文件会在每行末尾自动放上一个'\ r'吗? –

+0

在每行的末尾添加空注释是一个可怕的建议,与简单地用预期的换行符保存文件相比较。 – chepner

+0

谢谢chepner把我和其他职位联系起来。我已经改变了行结尾格式,现在它可以工作。 –