shell脚本报错“^M: bad interpreter”解决方法

有时候运行shell脚本出现错误“bash: ./test.sh: /bin/sh^M: bad interpreter: No such file or directory”,怎么办?这时因为这个shell脚本可能是在Windows电脑上写的,或是在Windows电脑上复制了一些内容到脚本中,或进行了一些不正确的操作,必须将脚本格式由dos改为unix才能解决问题。下文将详细介绍修改方法。

shell脚本报错“^M: bad interpreter”解决方法

工具/原料

  • Ubuntu
  • shell脚本

方法/步骤

  1. 1

    首先在Terminal中输入“vim 脚本”命令。

    shell脚本报错“^M: bad interpreter”解决方法
  2. 2

    这时会看到文件最下方显示的是“[dos]”,这就表示这个脚本是dos格式的啦。如果没有看到,可以输入“:set ff”,按下Enter键,查看脚本格式。

    shell脚本报错“^M: bad interpreter”解决方法
  3. 3

    输入“:set ff=unix”后按Enter,将格式更改为unix格式。

    shell脚本报错“^M: bad interpreter”解决方法
  4. 3
    本页面未经授权抓取自百度经验
  5. 4

    然后再输入“:set ff”,按下Enter键,这时如果看到“fileformat=unix”,这表明格式修改正确啦。

    shell脚本报错“^M: bad interpreter”解决方法
    shell脚本报错“^M: bad interpreter”解决方法
  6. 5

    输入“:wq”,保存并退出脚本。

    shell脚本报错“^M: bad interpreter”解决方法
  7. 6

    再次运行脚本,看,不再出错啦。

    shell脚本报错“^M: bad interpreter”解决方法
  8. 7

    注意,编辑shell脚本前,一定要将输入法切换为英文半角符号状态。

    END

注意事项

  • 谢谢您的阅读,如果您觉得本文有用,请点赞哦。
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。
展开阅读全部
相关标签操作系统LINUX