美文网首页
Linux下运行shell脚本,报错“/bin/bash^M:

Linux下运行shell脚本,报错“/bin/bash^M:

作者: raooo | 来源:发表于2018-08-22 17:03 被阅读0次

    问题描述:

    问题出现操作过程:

    1. 使用TortoiseGit从github上clone一个工程,工程中存在一个shell脚本。

    2. 将shell脚本使用sftp上传至Linux服务器。

    3. 执行shell脚本,报错"/bin/bash^M: bad interpreter: No such file or directory"。

    问题原因

    TortoiseGit安装后默认Git设置为自动转换文件格式,它会直接将文件Unix格式转成Windows下的dos格式,字段为:AutoCrlf,如图1所示:

    图1. TortoiseGit Git默认设置自动转换文件格式

    解决办法

    将TortoiseGit 工具上该字段值关闭,修改autocrlf=false即可解决,方法如图2、图3所示:

    图2. TortoiseGit修改演示 图3. autocrlf修改演示

    附:Linux上修改文件格式方法

    首先你先要检查一下看看你的脚本文件是不是这个问题导致的,用vi命令打开要检查的脚本文件,然后用

    :set ff?

    命令检查一下,看看是不是dos字样,如果是dos格式的,继续执行

    :set ff=unix

    然后执行

    :qw

    保存退出即可

    相关文章

      网友评论

          本文标题:Linux下运行shell脚本,报错“/bin/bash^M:

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