linux下执行sh文件报错 :/bin/bash^M: 坏的解释器:没有那个文件或目录” 问题
0.背景
linux调试wildfly项目,直接执行 ./standalone.sh 。 或者 在目录下执行 bash standlone.sh。然后各种报错。
'\r' 未找到命令
后来一想,为啥会有这个 \r 呢。windows下执行好好的,为啥到了linux上就不行了呢。后来我突然想起来,windows下的换行回车是 \n\r。在linux下是 \n。所以才会有多出来的 \r。我们用下面的指令给它替换掉。
sed -i 's/\r$//' xxx.sh
这样就会把 xxx.sh中的 \r 全部给替换成空白。