码迷,mamicode.com
首页 > 系统相关 > 详细

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

时间:2017-05-17 18:26:59      阅读:255      评论:0      收藏:0      [点我收藏+]

标签:ued   vi命令   host   direct   idt   png   mat   alt   local   

在学习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

标签:ued   vi命令   host   direct   idt   png   mat   alt   local   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!