windows下编写的Shell脚本在Linux下运行错误的解决方法

出现这种错误的原因: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的格式

n是微软
是linux
是苹果

原文地址:https://www.cnblogs.com/chromebook/p/4106164.html