Open
Description
/bin/bash^M: bad interpreter: No such file or directory
问题解决方案
问题描述
执行xxx.sh
时,提示/bin/bash^M: bad interpreter: No such file or directory
,打开文件显示正常
问题原因
出现上面错误的原因之一是脚本文件是DOS格式的,即每一行的行尾以\r\n
来标识,我这里是因为在 macOS 上运行 Windows 下git clone
的代码库里的脚本
解决方案
使用dos2unix
命令
macOS上安装brew install dos2unix
然后对对应文件执行dos2unix xxx.sh
即可
-
递归将某个目录下所有文件转换:
find . -type f -print0 | xargs -0 dos2unix
-
递归将某个目录下所有以
.sh
结尾的文件转换:find . -name "*.sh" -print0 | xargs -0 dos2unix