博客
关于我
Linux 解决“/bin/bash^M: bad interpreter: No such file or directory”
阅读量:801 次
发布时间: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/

    你可能感兴趣的文章
    MySQL中的IO问题分析与优化
    查看>>
    MySQL中的ON DUPLICATE KEY UPDATE详解与应用
    查看>>
    mysql中的rbs,SharePoint RBS:即使启用了RBS,内容数据库也在不断增长
    查看>>
    mysql中的undo log、redo log 、binlog大致概要
    查看>>
    Mysql中的using
    查看>>
    MySQL中的关键字深入比较:UNION vs UNION ALL
    查看>>
    mysql中的四大运算符种类汇总20多项,用了三天三夜来整理的,还不赶快收藏
    查看>>
    mysql中的字段如何选择合适的数据类型呢?
    查看>>
    MySQL中的字符集陷阱:为何避免使用UTF-8
    查看>>
    mysql中的数据导入与导出
    查看>>
    MySQL中的时间函数
    查看>>
    mysql中的约束
    查看>>
    MySQL中的表是什么?
    查看>>
    mysql中穿件函数时候delimiter的用法
    查看>>
    Mysql中索引的分类、增删改查与存储引擎对应关系
    查看>>
    Mysql中索引的最左前缀原则图文剖析(全)
    查看>>
    MySql中给视图添加注释怎么添加_默认不支持_可以这样取巧---MySql工作笔记002
    查看>>
    Mysql中获取所有表名以及表名带时间字符串使用BetweenAnd筛选区间范围
    查看>>
    Mysql中视图的使用以及常见运算符的使用示例和优先级
    查看>>
    Mysql中触发器的使用示例
    查看>>