【Linux】 /bin/bash^M: 坏的解释器: 没有那个文件或目录[已解决]

项目场景:

Windows 10 系统下编辑了一个shell脚本文件,然后copy到了远程的Linux服务器。


问题描述

运行xxx.sh文件时报错

[root@localhost tmp]# ./xxx.sh
-bash: ./xxx.sh: /bin/bash^M: 坏的解释器: 没有那个文件或目录

原因分析:

这个文件在Windows下编辑过,在Windows下每一行结尾是\n\r,而Linux下则是\n,所以才会有多出来的\r。


解决方案:

使用指令

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

会把 xxx.sh 中的\r 替换成空白。

猜你喜欢

转载自blog.csdn.net/weixin_42326851/article/details/131477466