我在 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 行尾。