在 Linux下编译运行脚本的时候出现”/bin/bash^M: 坏的解释器: 没有那个文件或目录 (bad interpreter: No such file or directory)“这样的错误。

解决方法:
使用在终端输入 sed -i 's/\r$//' check_tool.sh 即可
其中 check_tool.sh 为文件名,这里改成自己需要的即可。
在这里插入图片描述
原因:
跟系统有关。脚本文件在Windows下编辑过,在Windows下每一行结尾是\n\r,而在linux下是\n,sed -i 's/\r$//' check_tool.sh 会把 check_tool.sh 中的行尾的\r 替换为空白。在 windows 下编辑过的文件在 linux下打开看的时候每一行的结尾就会多出来一个字符\r,用 cat-A filename 时你可以看到这个\r 字符被显示为 ^M

参考:

  1. 3小时Bash脚本开发教程:https://www.bilibili.com/video/BV1T64y1D7Eq?from=search&seid=12421920989931002010&spm_id_from=333.337.0.0
  2. 解决 linux下编译make文件报错“/bin/bash^M: 坏的解释器:没有那个文件或目录” 问题:https://blog.csdn.net/liuqiyao_01/article/details/41542101
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐