一、原因 因为脚本在windows下创建编辑然后上传到linux系统的,所以是dos格式的,而linux却是只能执行格式为unix格式的脚本,所以识别不了。 二、解决方式 1.查看脚本文件是dos格式还是unix格式,dos格式的文件行尾为^M$ ,unix格式的文件行尾为$ cat -A filename 2.把dos格式的文件转换为unix格式的文件 dos2unix filename 3.再次执行shell脚本报错消失