Shell脚本报错:-bash: ./switch.sh: /bin/bash^M: bad interpreter: No such file or directory

在学习shell中测试case参数命令代码如下

#!/bin/bash
#switch测试
case $1 in
    start)
        echo ‘start‘
    ;;
    stop)
        echo ‘stop‘
    ;;
esac

在给当前shell脚本赋予了执行权限之后,执行报错代码如下

[[email protected] sh]# ./switch.sh stop
-bash: ./switch.sh: /bin/bash^M: bad interpreter: No such file or directory

主要原因是switch.sh是我在Windows下通过Sublime Text编辑后,在linux系统里执行的。.sh文件的格式为dos格式。而linux只能执行格式为unix格式的脚本。

我们可以通过vi编辑器来查看文件的format格式。步骤如下:

1:首先用vi命令打开当前的shell脚本文件

2:在vi命令模式中使用 :set ff 命令

3:解决方法有两个

①直接当下输入命令

:set ff=unix

②返回文件当下目录执行命令

dos2unix switch.sh

如果当前系统没有dos2unix命令,还需要去网上下载安装包解压,到此为止。

时间: 2024-10-21 13:21:59

Shell脚本报错:-bash: ./switch.sh: /bin/bash^M: bad interpreter: No such file or directory的相关文章

-bash: ./****.py: /usr/bin/python^M: bad interpreter: No such file or directory

在windows系统下写的python脚本,在linux下赋予权限chmod +x xxx.py 以后,执行./xxx.py运行提示:bash: /usr/bin/autocrorder: /usr/bin/python^M: bad interpreter: No such file or directory 更多文章请点击我 分析: 这是不同系统编码格式引起的:在windows系统中编辑的.sh .py文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息.一般是因为windows

shell脚本报错:"[: =: unary operator expected"

shell脚本报错:"[: =: unary operator expected" md5_109a="81ab961153b62d207f0f517048881b5d" md5_109b=`md5sum install.bin|awk '{print $1}'` if [ $md5_109a != $md5_109b ] 原因,当文件install.bin不存在时, $md5_109b为空这样对比字符串就变成了 if [ 81ab961153b62d207f0f5

shell脚本报错

早几天在pc电脑写了一个shell脚本,用来执行springboot项目,然后在centos7执行的时候报错,脚本如下比较简单:start.sh,下面只是列举了一部分脚本代码 2.拷贝脚本到linux服务器执行报如下错误: -bash: ./test.sh: /bin/bash^M: bad interpreter: No such file or directory 后面查了下资料报错原因是: 我的start.sh的格式显示为:fileformat=dos start.sh是我在windows

【问题解决】syntax error: unexpected end of file或-bash: ./full_build.sh: /bin/bash^M: bad interpreter: No

在阅读的过程中有任何问题,欢迎一起交流 邮箱:[email protected]    QQ:1494713801 执行一个脚本full_build.sh 时, 一直是提示我: -bash: ./full_build.sh: /bin/bash^M: bad interpreter: No such file or directory 或提醒  syntax error: unexpected end of file 出现上面错误的原因之一是脚本文件是DOS格式的, 即每一行的行尾以\r\n来标

/usr/bin/perl^M: bad interpreter: No such file or directory

1.web显示 2.nagios服务端测试 [[email protected] objects]# /usr/local/nagios/libexec/check_nrpe -H 10.0.0.10 -c check_memNRPE: Unable to read output 3.nagios客户端测试 [[email protected] ~]#/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1-c check_memNRPE: Unable

window下编写python脚本在linux下运行出错 usr/bin/python^M: bad interpreter: No such file or directory

今天在windows下使用notepad++写了个python脚本,传到linux服务器执行后提示:-bash: ./logger.py: usr/bin/python^M: bad interpreter: No such file or directory 1.原因分析 这是不同系统编码格式引起的:在windows系统中编辑的logger.py文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息.一般是因为windows行结尾和linux行结尾标识不同造成的,在window中行结

执行Python "/bin/usr/python: bad interpreter: No such file or directory" 错误

今天在电脑上写了一个Python脚本,写好之后用ftp传上去,然后执行/var/www/cron.py,结果报错,/bin/usr/python: bad interpreter: No such file or directory,之前都是执行python /var/www/cron.py都没问题啊,看来应该不是代码的问题. 上网上搜了一下,有很多人都反映在windows下写的python文件会由于编码问题执行出错(windows下的换行符是'\r',而linux下是'\n'),于是检查了一下

usr/bin/python3^M: bad interpreter: No such file or directory

执行.py时报错:/usr/bin/python3^M: bad interpreter: No such file or directory 1.执行权限的问题 2.python版本的问题 3.python文件格式的错误. 权限问题利用chmod +x ***py即可 版本问题,在执行时或者在py文件中选择好python的版本 格式问题解决过程如下: [email protected]:~/hadoop/hadoopfile$ vi PictureDownloadMapper.py 在vi编辑

redhat6.4执行二进制程序报错:/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory

今天同事想在redhat6.4系统环境下,收集IBM3650 m4的所有硬件日志信息,当执行IBM的日志收集程序的时候,出现如下报错: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory 原因: 在64位的系统中执行了32位的程序 解决方法: yum -y install glibc.i686