出现这种错误的原因:CR/LF问题,在dos/window下按一次回车键实际上输入的是“回车(CR)”和“换行(LF)”,而Linux/unix下按一次回车键只输入“换行(LF)”,所以修改的sh文件在每行都会多了一个CR,所以Linux下运行时就会报错找不到命令。
两种解决方法:
1、将格式转换为UNIX,“编辑->格式转换(CR/LF)->UNIX”,这样Linux下就能按unix的格式保存文件
2、在vim中,输入:set ff=unix,然后:wq,同样也是转换成unix的格式
cat -e 查看到:
正确:cd /etc/stunnel$
错误:cd /etc/stunnel^M$
^M是dos的格式
\rn是微软
\n是linux
\r是苹果