当使用wget时如何从URL末尾删除%0D?

9

如何在使用wget时从URL末尾删除%0D?

我有一个包含以下wget的sh脚本。但是,在Linux上执行时,wget会尝试下面的第二个URL(附加了%OD)。我该如何防止这种情况发生?我有多个脚本,它们都有相同的问题。谢谢!

wget https://example.com/info.repo


wget https://example.com/info.repo%0D
2个回答

8
< p > OD 字符是回车符,它是 Windows 使用的 CRLF 序列中的一部分,用于行尾。你可以使用 dos2unix 在执行之前修复行尾,并且在将来不要使用记事本编写 shell 脚本。

dos2unix myscript.sh
./myscript.sh

不需要,我需要安装它吗? - user3388884
如果你还没有它,那么你需要安装。这是哪个Linux发行版? - James M
我只是开玩笑,我已经安装了它。之前也用过。但出于某种原因,它在这个文件上不起作用。 - user3388884
可能是Mac换行符(单个0D)。尝试使用mac2unix。 - Erwin Waterlander
@ErwinWaterlander,OS X只使用\n。自Mac OS Classic以来,单个的\r换行符已经不再使用了。 - James M
显示剩余2条评论

0

我在基于Windows文件系统(/mnt)而不是Linux文件系统(\\wsl$\的WSL2实例中运行wget时遇到了这个问题。事实上,从WSL2可以使用两者。

在WSL2下运行wget将某些东西下载到Windows文件系统目录中会在文件末尾得到末尾的0%D。我只需在Linux文件系统下使用另一个工作目录,wget就不再出现这个问题了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接