Linux下Windows脚本文件为何无法执行?

摘要:原因:在windows下创建的文件采用的文件模式是dos,由于不同系统对有些字符的定义不同,比如对于回车符的定义: Windows:0D0A UnixLinux: 0A MAC: 0D 所以在windows下创建的sh文件在linux环境
原因:在windows下创建的文件采用的文件模式是dos,由于不同系统对有些字符的定义不同,比如对于回车符的定义: Windows:0D0A Unix/Linux: 0A MAC: 0D 所以在windows下创建的sh文件在linux环境无法直接执行。 解决方式1: 在windows的编辑器中转换,以notepad++为例子: 打开文件 -> 编辑 -> 文档格式转换 -> 转为 Unix(LF) 解决方式2: 在linux的编辑器中转换,以vim为例子: 打开文件:vim test.sh 在底线命令模式下输入 :set ff 回车 显示fileformat=dos 重新设置: 在底线命令模式下输入: :set ff=unix 回车,然后再底线命令模式下输入:wq 保存退出。 再次执行就可以了。当然没有语法错误的话。