脚本:/ bin / bash ^ M:错误的解释器:没有这样的文件或目录

这个问题在这里已经有了答案:

  • shell脚本对编码和行尾是否敏感? 2个答案

  • 在Windows环境中创建脚本然后移植到Unix环境中时,我看到了这个问题。

    尝试在脚本上运行它:

    http://linuxcommand.org/man_pages/dos2unix1.html

    更新链接:

    http://dos2unix.sourceforge.net/

    或者使用vi和测试在Unix环境中重写脚本。

    Unix使用不同的换行符和回车符,因此无法读取您在Windows上创建的文件。 因此它将^ M视为非法角色。

    如果你想在Windows上编写一个文件,然后移植,请确保你的编辑器设置为以UNIX格式创建文件。

    在屏幕右下方的记事本++中,它会告诉你文档格式。 默认情况下,它会显示DosWindows 。 要改变它去

  • 设置 - >首选项
  • 新文件/默认目录选项卡
  • 选择格式为unix并关闭
  • 创建一个新文档

  • 在终端中运行以下命令

    sed -i -e 's/r$//' scriptname.sh
    

    然后尝试

    ./scriptname.sh
    

    它应该工作。


    如果您在Windows或Mac上使用Sublime Text编辑脚本:

    点击View > Line Endings > Unix并再次保存文件。

    在这里输入图像描述

    链接地址: http://www.djcxy.com/p/9813.html

    上一篇: script: /bin/bash^M: bad interpreter: No such file or directory

    下一篇: Count files and directories using shell script