执行shell脚本报错-bash: ./startup.sh: /bin/sh^M: bad interpreter: No such file or directory

搭建nacos集群时,配置完毕后执行脚本报错,通过查询资料发现^M表示

Windows环境下dos格式文件传输到unix系统时,会在每行的结尾多一个^M,所以在执行的时候出现了这种现象,但是你在unix或者Linux环境下使用vi编辑的时候,会在下面显示此文件的格式,比如”sky8g.sh” [dos] 2L,20C字样,表示这是一个【dos】的格式文件,如果是MAC的系统则会出现【MAC】的字样,因为文件格式的原因,有时候我们是unix程序或shell程序,则就要把dos文件转化为unix的文件格式。
————————————————
版权声明:本文为CSDN博主「sky8g」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/jimbooks/article/details/98037922

解决方法:

在报错脚本所在目录,执行以下命令,startup.sh为脚本名称,亲测可用。

sed -i -e 's/ $//'  startup.sh

原文地址:https://www.cnblogs.com/zou-rong/p/12737576.html