windows下创建的shell文件在linux环境无法直接执行

105 阅读1分钟

在windows下创建的sh文件在linux环境无法直接执行的原因

在windows下创建的文件采用的文件模式是dos,由于不同系统对有些字符的定义不同,比如对于回车符的定义:
Windows:0D0A
Unix/Linux: 0A
MAC: 0D

解决方式1:

在windows的编辑器中转换,以notepad++为例子:

打开文件 -> 编辑 -> 文档格式转换 -> 转为 Unix(LF)

image.png

解决方式2:

在linux的编辑器中转换,以vim为例子:

打开文件:vim test.sh

在底线命令模式下输入 :set ff

回车,显示fileformat=dos

image.png

重新设置:

在底线命令模式下输入::set ff=unix

回车,然后再底线命令模式下输入:wq 保存退出。

再次执行就可以了。当然没有语法错误的话。