错误原因和现象
在执行shell脚本的时候,报错:/bin/bash^M: bad interpreter: No such file or directory。
是由于该脚本文件是在Windows平台编写,然后在MacOS平台中执行。
在Windows平台上文件是dos格式,换行符尾\r\n,而MacOS平台文件是unix格式,换行符尾\n。因此在运行脚本文件时,不能正确解析\r,导致编译错误、运行失败。
解决方案
在MacOS平台上,打开命令行工具执行命令vim *.sh
(编辑你的脚本文件),然后执行命令:set ff=unix
,最后执行:wq
( 保存退出)即可。