解决在Mac上执行shell脚本,报错"/bin/bash^M:bad interpreter:No such file or directory"

2023-02-21
预计阅读时间:1分钟

今天在Mac下执行shell脚本时,出现了这样的异常信息:

image-20230221133433289

其原因是不同系统编码格式引起的,应该是这个shell脚本在window上被编辑过

解决方法是利用vi编辑器,挺方便,按照如下步骤:

  1. 输入vi intstall_dependency_2_mvn_local_repo.sh,会显示部分内容出来

  2. 输入 :set ff,会看到 fileformat=dos,这样就验证了刚才的想法:文件在Windows上被编辑过

  3. 输入:set ff=unix,就会把文件转化为unix格式的,当然Mac上就可以正常使用了

  4. 输入:wq,退出vi

具体为什么会报^M这个错误,应该是cofigure文件在Windows上编辑时,每行后面会加个ctrl+m就是^M,相应的利用shell执行时,就会变成sh^M,这个命令当然是没有的,就报了上述错误。