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

4 篇文章 0 订阅

当我在shell中运行how_paras.sh时,出现了这个错误

[root@localhost sbin]# ./how_paras.sh
-bash: ./how_paras.sh: /bin/bash^M: bad interpreter: No such file or directory

-bash: ./how_paras.sh: /bin/bash^M: bad interpreter: No such file or directory 翻译即:

-bash:./how_paras.sh:/ bin / bash ^ M:糟糕的解释器:没有这样的文件或目录

好,那我们来分析一下,为什么会出现这种情况,这个问题说明什么,以及如何来解决它!

情景

之前,我都是直接在shell中创建,编写,执行脚本,都没有问题。因为感觉在shell中编写脚本不方便。于是使用WinSCP软件,将在shell中创建的空脚本,下载到windos系统中,用我的文本编辑器Notepad++来编写脚本,将编写好的脚本保存,并上传到linux系统中去。最后利用远程工具shell链接linux系统,运行这个脚本。


why:为什么会出现这个问题

问题就出在,我把shell中的脚本下载到windos系统中来进行编辑。

windos中Notepadd++编辑脚本,使得脚本文件格式为DOS格式,即每一行的行位是\r\n来标识。

好,那我打开vim编辑器确认一下。

[root@localhost sbin]# vim how_paras.sh
//  ... ...此处省略how_paras.sh脚本内容
//在命令行模式输入下面这个命令
:set ff?
//显示结果为
  fileformat=dos                                             1,1           All

总结

1、打开脚本确认脚本文件格式:vim xxx.sh,:set ff?。xxx.sh代表脚本文件


what:这个问题说明什么

出现这个问题说明在windos系统和linux系统中的文件格式不一致。


how:如何解决

直接解决方法:

用vim编辑这个脚本,在命令行模式下,设置文件的格式,并保存。

vim xxx.sh,:set ff=unix

或者

在Windos系统中Notepad++软件中更改,打开这个文件:编辑–>转换为UNIX格式

彻底解决方法:更改Windos系统中Notepad++软件的文件方式。改为:NIX格式。

步骤:

  1. 打开Notepad++:
    • 设置–>首选项–>新建:选择格式为UNIX;
    • 设置–>首选项–>默认目录:选择使用新样式对话框(无文件扩展名和UNIX支持此功能)

参考链接
1、-bash: ./my_script: /bin/bash^M: bad interpreter: No such file or directory [duplicate]
2、/bin/bash^M: bad interpreter: No such file or directory

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值