bash 脚本中的 curl 在文件名末尾添加 ?

bash 脚本中的 curl 在文件名末尾添加 ?

我在 Ubuntu 16.04 上,我有一个带有 curl 命令的 bash 脚本,例如:

#!/bin/bash
curl https://www.example.com/file.txt > ./file.txt

该文件应以名称下载file.txt,但当我执行 ls 时,我看到:

$ ls
file.txt?

为什么会这样以及如何消除它?

谢谢

答案1

您的脚本有 Windows 行尾。

如果您使用运行脚本./script.sh,它应该输出:

bash: ./script.sh: /bin/bash^M: bad interpreter: No such file or directory

如果您运行,它将像您报告的那样在末尾bash script.sh保存文件。?

将您的编辑器更改为使用 Unix 行尾或使用dos2unix script.sh转换为 Unix 行尾。

相关内容