解决报错 “build.sh /bin/bash^M: 坏的解释器:没有那个文件或目录”

1、linux执行脚本,出现这个错误,一度把我逼疯了,首先要确保自己的脚本每一行都可以正常执行的,千万别因为自己的脚本问题导致的找不到文件或者目录(我都遇到过),这样找问题,能找到你哭的哦。

出现问题场景:执行xxx.sh脚本时,报错 "xxx.sh  /bin/bash^M: 坏的解释器:没有那个文件或目录”,因为 xxx.sh脚本文件是从windows拷贝过来的,所以多了\r,执行如下所示命令即可:

sed -i 's/\r$//' xxx.sh 

具体原因:如何脚本文件是在Windows 下编辑过,在Windows下每一行结尾是\n\r,而Linux下则是\n,所以才会有 多出来的\r。所以执行命令将\r换成空白去掉即可。

 

posted on 2020-10-03 16:34  别先生  阅读(1180)  评论(0编辑  收藏  举报