-bash: ./start.sh: /bin/bash^M: 坏的解释器: 没有那个文件或目录

发布时间 2023-12-25 09:04:36作者: 《END》

写Linux启动脚本遇到的一个坑。因为脚本文件 start.sh 中存在不可见的特殊字符,具体是 "^M"(也被称为 Carriage Return,CR)。这通常是由于在 Windows 系统中编写的文件在 Linux 或者 Unix 系统中执行时,文件格式不兼容所导致的。

可以使用 sed 命令删除 "^M":

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

 也可以在Vim 或者 Vi 编辑器中,你可以使用以下命令进入文件并删除 "^M":

vim start.sh
:set ff=unix  
:wq