博客
关于我
Linux 解决“/bin/bash^M: bad interpreter: No such file or directory”
阅读量:789 次
发布时间:2023-02-02

本文共 522 字,大约阅读时间需要 1 分钟。

执行shell脚本时出现格式错误提示,通常是因为文件 embraces DOS格式末尾字符\r\n,而不是UNIX格式的\n。以下是判断文件格式的几种方法:

  • 使用cat命令

    -运行命令cat -A filename,观察每行结尾符。DOS格式文件末尾为^M$,而UNIX格式文件为\n$

  • 使用od命令

    -执行od -t x1 filename,查看字符,DOS文件会显示0d 0a,而只显示0a的是UNIX格式。

  • 使用vi编辑器

    -打开文件,输入命令:set ff,DOS格式会显示fileformat=dos,而UNIX格式显示为fileformat=unix


  • 文件格式转换方法如下:

  • 使用dos2unix工具

    -运行命令dos2unix filename,直接将文件转换为UNIX格式。

  • 使用sed命令

    -替换所有\r\n为\n,sed -i "s/\r//" filename
    -或者只替换结尾符,sed -i "s/^M//" filename

  • 使用vi编辑器

    -打开文件,输入命令:set ff=unix,保存时执行:wq,将文件转换为UNIX格式。


  • 以上方法适用于不同场景,选择最合适的工具进行转换即可解决问题。

    转载地址:http://vewfk.baihongyu.com/

    你可能感兴趣的文章