-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