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

有时候编写脚本时会出现类似标题列出的错误,这个问题大多数是因为脚本文件在windows下编辑过。在windows下,每一行的结尾是 ,而在linux下文件的结尾是 ,那么你在windows下编辑过的文件在linux下打开看的时候每一行的结尾就会多出来一个字符 ,用cat -A urfile时你可以看到这个 字符被显示为^M,这时候只需要删除这个字符就可以了。可以使用命令sed -i 's/ $//' filename。

-bash: ./startup.sh: /bin/sh^M: 坏的解释器: 没有那个文件或目录
解决:sed -i 's/ $//' fileName
sed -i 's/ $//' startup.sh

原文地址:https://www.cnblogs.com/shisanye/p/15165221.html