1.错误原因:
- shell脚本文件是dos格式,
- 在windows下每一行结尾以
\r\n
来标识,而unix格式的文件行尾则以\n
来标识。
2.查看脚本文件是dos格式或者unix格式:
方法一
cat -A filename
从显示结果可以判断,dos格式的文件行尾为^M$
,unix格式的文件行尾为$
。
方法二
vi filename
打开文件,命令模式下执行 : set ff
,如果文件为dos格式在显示为fileformat=dos
,如果是unxi则显示为fileformat=unix
。
3.解决方法:
方法一:
vi filename
打开文件- 命令模式下执行
set ff=unix
wq
保存。
方法二:
- 使用linux命令
dos2unix filename
,直接把文件转换为unix格式 - 但是有肯可能你的电脑没有安装doc2unix命令工具,那么根据提示下载即可