问题描述
在编写Linux 脚本后,运行该脚本出现如下错误。
[root@binghe bin]# ./xxxxx.sh stop
-bash: ./xxxxx.sh: /bin/bash^M: 坏的解释器: 没有那个文件或目录
原因
- 在Windows系统上编写的Shell脚本,然后上传到Linux服务器执行。
- Windows系统中的换行符是**\n\r**,Linux系统中的换行符是**\n**,因此需要将**\r**替换为空白。
解决方案
Linux sed命令可自动编辑一个或多个文件,执行以下命令即可。
sed -i 's/\r$//' xxxxx.sh
好了,今天就到这儿吧,我是冰河,我们下期见~~