cygwin运行sh脚本出现如上错误,原因是脚本文件里使用的是\r\n,就是是windows下的回车换行,而不是linux系统里的换行。解决方法就是使用dos2unix命令。本机安装的msysgit里有这个可执行文件,因此直接使用 dos2unix xxx.sh xxx.sh 之后执行sh脚本就没错了。 dos2unix 一般cygwin自带的