我在用Windows平台编辑bash脚本后,用Xshell SSH vim的方式把脚本完整复制到Linux主机中运行正常。
但是把脚本放到远程服务器上,用curl把脚本下载下来后就运行报错
[ec2-user@localhost scripts]$ ./end_of_file.sh
./end_of_file.sh: line 2: $'\r': command not found
./end_of_file.sh: line 8: syntax error: unexpected end of file
是因为Windows和Linux的换行符问题
解决方法:
方法一:
使用dos2unix转换
apt install dos2unix
or
yum install dos2unix
[ec2-user@localhost scripts]$ dos2unix end_of_file.sh
dos2unix: converting file end_of_file.sh to Unix format ...
方法二:
Windows上Notepad++ -> 编辑 -> 文档格式转换 -> 转为Unix
然后再把脚本上传
参考资料:
https://stackoverflow.com/questions/16239551/eol-conversion-in-notepad