美文网首页
windows打包脚本出现 /bin/sh^M: 坏的解释器:

windows打包脚本出现 /bin/sh^M: 坏的解释器:

作者: 飞雪雪团队 | 来源:发表于2021-01-16 22:02 被阅读0次

    1.错误描述

    我在Windows 10 系统下打包dolphinscheduler,上传到centos7解压之后,执行脚本报如下错误:

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

    ^M是什么东东,为什么会有^M

    通过命令 cat -A filename 查看

     好像每行都有这个,应该和换行符有关,查了一下确实有关

    2.错误原因

    这个问题大多数是因为脚本文件在windows下编辑过。在windows下,每一行的结尾是\n\r,而在linux下文件的结尾是\n,那么你在windows下编辑过的文件在linux下打开看的时候每一行的结尾就会多出来一个字符\r,用cat -A fileName时你可以看到这个\r字符被显示为^M,这时候只需要删除这个字符就可以了

    3.解决方式

    使用指令sed -i 's/\r$//' test.sh,上面的指令会把  test.sh 中的\r 替换成空白!

    相关文章

      网友评论

          本文标题:windows打包脚本出现 /bin/sh^M: 坏的解释器:

          本文链接:https://www.haomeiwen.com/subject/ayeoaktx.html