美文网首页
/bin/sh^M: bad interpreter 问题

/bin/sh^M: bad interpreter 问题

作者: 杰杰微电 | 来源:发表于2020-12-04 13:01 被阅读0次

    上传到服务器脚本执行报错

    # ./build.sh 

    -bash: ./build.sh: /bin/sh^M: bad interpreter: No such fileor directory

    分析:

    这是由于在windows系统解压的压缩包文件或者在windows系统编辑脚步文件后上传到linux系统里才执行导致上述错误的。

    这样上传导致.sh文件的格式为dos格式,而linux系统下可执行的格式是unix格式的脚本文件。

    解决办法:

    方式一:

    通过Linux系统下默认编辑器vi,查看文件format格式,操作步骤:

    1. 用vi命令打开文件

    1# vi build.sh

    2. 在vi命令模式中使用:set ff 命令,可以看到文件的格式为dos,结果为fileformat=dos。

    3. 修改fileformat参数值为unix,执行:set ff=unix命令,执行后再通过:set ff命令查看文件格式,结果为fileformat=unix。

    方式二:

    直接执行dos2unix命令进行修改操作,注意的是dos2unix命令需要安装,不是linux系统自带命令

    # dos2unix build.sh   

    dos2unix: converting filebuild.sh to UNIX format...

    通过上述两种方式都可以修改可执行文件格式。

    相关文章

      网友评论

          本文标题:/bin/sh^M: bad interpreter 问题

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