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

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

在这里插入图片描述

[shforce@shs lowCarbonHeat]$ chmod 777 restart.sh
[shforce@shs lowCarbonHeat]$ ./restart.sh
-bash: ./restart.sh: /bin/sh^M: 坏的解释器: 没有那个文件或目录

原因:脚本文件是在Windows环境下编辑的,windows环境下,每一行的结尾是\n\r,而Linux环境下,每一行结尾是\n。使用cat -a fileName 可以看到每行的结尾后面多出了一个^M。

解决办法

1、把脚本内容全复制到win记事本再到linux下新建一个文件,复制进去。

2、在linux下使用命令替换即可

sed -i 's/\r$//' fileName

fileName:文件名(带后缀名)

例子

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

你可能感兴趣的:(错误,linux,bash)