Linux下文件格式0引起的异常 -bash: ./mount.sh: /bin/bash^M: bad interpreter: No such file or directory

1、执行下面这个mout.sh脚本的时候,命令行提示如下错误。

-bash: ./mount.sh: /bin/bash^M: bad interpreter: No such file or directory

2、原因分析

创建好这个shell脚本以后,使用命令chmod 777 mount.sh赋予这个文件可执行权限

仔细观察这个文件,尾注,有一个[dos]说明这脚本的文件格式DOS格式,即每一行的行尾是以\r\n来标识的。但是在Linux下的文件结尾符是以\r来标识的。

所以才会发生异常,^M bad interpreter

 

获取文件格式

在命令执行set ff? 来获取文件格式

 文件格式为:fileformat=dos

 文件格式为:fileformat=unix

切换文件格式

1、使用set ff命令

        使用命令set ff=unix将文件格式切换为unix

        使用命令set ff=dos将文件格式切换为dos

2、在命令行上执行

        $sed -i -e 's/\r$//' mount.sh

3、使用软件工具

        前提需要安装dos2unix软件

        并且使用实现文件格式相互转换

        dos2unix [filename]

        unix2dos [filename]

在命令行上执行

dos2unix moun.sh

执行成功后显示

dos2unix: converting file moun.sh to Unix format ...

第一次执行的时候会提示,未安装的软件

The program 'dos2unix' is currently not installed. You can install it by typing:

需要在命令行上执行如下命令安装软件

sudo apt install dos2unix

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值