首页 > 系统服务 > 详细

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

时间:2017-05-17 17:54:55      阅读:320      评论:0      收藏:0      [点我收藏+]

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

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

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

[root@localhost 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命令,还需要去网上下载安装包解压,到此为止。

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

原文:http://www.cnblogs.com/wt645631686/p/6868691.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!