![bash 脚本中的 curl 在文件名末尾添加 ?](https://linux22.com/image/917462/bash%20%E8%84%9A%E6%9C%AC%E4%B8%AD%E7%9A%84%20curl%20%E5%9C%A8%E6%96%87%E4%BB%B6%E5%90%8D%E6%9C%AB%E5%B0%BE%E6%B7%BB%E5%8A%A0%20%3F.png)
我在 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 行尾。