原因:在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 保存退出。
再次执行就可以了。当然没有语法错误的话。