博客
关于我
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 - ERROR 1406
    查看>>
    mysql - 视图
    查看>>
    MySQL - 解读MySQL事务与锁机制
    查看>>
    mysql 1264_关于mysql 出现 1264 Out of range value for column 错误的解决办法
    查看>>
    mysql 1593_Linux高可用(HA)之MySQL主从复制中出现1593错误码的低级错误
    查看>>
    mysql ansi nulls_SET ANSI_NULLS ON SET QUOTED_IDENTIFIER ON 什么意思
    查看>>
    MySQL Binlog 日志监听与 Spring 集成实战
    查看>>
    Mysql Can't connect to MySQL server
    查看>>
    mysql case when 乱码_Mysql CASE WHEN 用法
    查看>>
    Multicast1
    查看>>
    MySQL Cluster 7.0.36 发布
    查看>>
    Multimodal Unsupervised Image-to-Image Translation多通道无监督图像翻译
    查看>>
    multipart/form-data与application/octet-stream的区别、application/x-www-form-urlencoded
    查看>>
    mysql cmake 报错,MySQL云服务器应用及cmake报错解决办法
    查看>>
    Multiple websites on single instance of IIS
    查看>>
    mysql CONCAT()函数拼接有NULL
    查看>>
    multiprocessing.Manager 嵌套共享对象不适用于队列
    查看>>
    multiprocessing.pool.map 和带有两个参数的函数
    查看>>
    MYSQL CONCAT函数
    查看>>
    multiprocessing.Pool:map_async 和 imap 有什么区别?
    查看>>