问题背景: sh脚本文件是在windows系统下编写的,然后将sh脚本文件传到Linux服务器上运行。
原因分析: 在windows下编辑的脚本,所以有可能有不可见字符。脚本文件是DOS格式的,即每一行的行尾以\r\n来标识, 其ASCII码分别是0x0D, 0x0A
解决方法:
1、使用vim编辑sh脚本文件
vim test.sh
2、查看脚本文件格式,执行以下命令后会在最下面一行可以看到dos或unix的字样
:set ff
3、如果的确是dos格式的, 那么用以下命令把它强制为unix格式的
:set ff=unix