争怎路由网/系统工具/内容

Shell脚本/bin/bash^M: bad interpreter出错处理方法

系统工具2024-06-13 阅读
Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。
在windows下保存了一个脚本文件,用ssh上传到centos,添加权限执行nginx提示没有那个文件或目录。 shell脚本放到/etc/init.d/目录下,再执行/etc/init.d/nginx,提示多了这句/bin/bash^M: bad interpreter。
如果这个脚本在Windows下编辑过,就有可能被转换成Windows下的dos文本格式了,这样的格式每一行的末尾都是以\r\n来标识,它的ASCII码分别是0x0D,0x0A。如果你将这个脚本文件直接放到Linux上执行就会报/bin/bash^M: bad interpreter错误提示。
 
解决方法:
首先你先要检查一下看看你的脚本文件是不是这个问题导致的,用vi命令打开要检查的脚本文件,然后用:
:set ff?
命令检查一下,看看是不是dos字样,如果是dos格式的,继续执行:
:set ff=unix
然后执行 :qw 保存退出即可。

Linux是一套免费使用和自由传播的类Unix操作系统



……

相关阅读