今天执行一个shell脚本,然后在执行的时候报错,脚本内容很简单,仅供测试:

#!/bin/sh  

echo "test shell "

具体报错信息如下

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

由于之前自己对shell不太熟悉,找同事沟通了后了解了原委,主要原因是test.sh是我在windows下编辑然后上传到linux系统里执行的。.sh文件的格式为dos格式。而linux只能执行格式为unix格式的脚本。

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

1.首先用vi命令打开文件

[root@localhost test]# vi test.sh

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

 :set ff

可以看到改文件的格式为dos

fileformat=dos

3.修改文件format为unix

方法一:使用vi修改文件format

命令:set ff=unix

:set ff=unix

执行完后再通过set ff命令查看文件格式,结果如下:

fileformat=unix

方法二:直接使用dos2unix命令修改(dos2unix没装的自己装一下,命令是--------->yum install -y dos2unix)

[root@localhost test]# dos2unix test.sh
dos2unix: converting file test.sh to UNIX format ...

修改完后再次执行./test.sh,执行正确:

[root@localhost test]# ./test.sh
test shell

  

这样就可以执行你的sh脚本了!

shell脚本报错:-bash: xxx: /bin/sh^M: bad interpreter: No such file or directory的更多相关文章

  1. shell脚本报错:-bash: xxx: /bin/sh^M: bad interpreter: No such file or directory --引用自http://blog.csdn.net/xiaaiwu/article/details/49126777

    windows下编辑然后上传到linux系统里执行的..sh文件的格式为dos格式.而linux只能执行格式为unix格式的脚本. 我们可以通过vi编辑器来查看文件的format格式.步骤如下: 1. ...

  2. -bash: xxx: /bin/sh^M: bad interpreter: No such file or directory

    原因是shell脚本文件的文件格式错误 通过vi编辑器来查看文件的format格式.步骤如下: 1.首先用vi命令打开文件 vi stop.sh 2.在vi命令模式中使用 :set ff 命令 可以看 ...

  3. Linux - /bin/sh^M: bad interpreter: No such file or directory

    问题 在Windows环境下用Notepad++写了个shell脚本,上传到Linux平台后运行报错如下: /bin/sh^M: bad interpreter: No such file or di ...

  4. -bash: ./start.sh: /bin/sh^M: bad interpreter: No such file or directory 错误解决方案

    问题描述:sh文件中,在win环境下,用WinSCP编辑,出现如下错误: -bash: ./start.sh: /bin/sh^M: bad interpreter: No such file or ...

  5. [shell编程] sh脚本异常:/bin/sh^M:bad interpreter: No such file or directory

    转载地址:http://www.cnblogs.com/pipelone/archive/2009/04/17/1437879.html 在Linux中执行.sh脚本,异常/bin/sh^M: bad ...

  6. windows系统编辑过的脚本文件,在linxu上执行报错 /bin/sh^M: bad interpreter: No such file or directory

    如题! 现象: 当时的场景是这样的:我在IDEA中编辑了项目中的脚本sh,然后利用maven打成zip包.把zip包上传到linux服务器解压运行. 当在linux服务器上运行该sh脚本文件时,提示错 ...

  7. /bin/sh^M:bad interpreter: No such file or directory

    bash脚本:/bin/sh^M:bad interpreter: No such file or directory   dos2unix 实际上就是把文本文件中面的^M删除 用SHELL 写了一个 ...

  8. /bin/sh^M:bad interpreter: No such file or directory问题

    脚本命令正确无误,但是执行脚本的时候报错“/bin/sh^M:bad interpreter: No such file or directory” 原因:该脚本文件在windows系统中编辑过,引入 ...

  9. bin/sh^M: bad interpreter: No such file or directory解决

    问题:bin/sh^M: bad interpreter: No such file or directory 原因:.sh脚本在windows系统下用记事本文件编写的.不同系统的编码格式引起的. 解 ...

随机推荐

  1. vs2013, EF6.0.0.0 使用Migrations来更新数据库时报错

    1.vs中,程序包管理器控制台 2.执行,Enable-Migrations 报错: Migrations have already been enabled in project 'dd'. To ...

  2. zookeeper搭建和kafka搭建

    zookeeper和kafka都是基于java的 zookeeper 1.安装jdk 官网下载rpm文件 rpm -ivh 文件.rpm 2.下载zookeeper tar -xv 压缩文件 -C 目 ...

  3. linux安装phantomjs

    一.下载PhantomJS: 从官网http://phantomjs.org/download.html下载linux64位的安装包即  phantomjs-2.1.1-linux-x86_64.ta ...

  4. day57 jQuery基础

    目录 一.操作标签 1 位置操作 2 尺寸 3 文本操作 4 获取值操作 5 属性操作 6 获取属性的特例 7 文档处理 二.事件 1 克隆事件 2 自定义模态框 3 左侧菜单 4 回到顶部 5 输入 ...

  5. poi excel单元格的校验

    switch (cell.getCellType()) { case HSSFCell.CELL_TYPE_NUMERIC://数值类型 if (0 == cell.getCellType()) { ...

  6. java 面向对象(十二):面向对象的特征二:继承性 (一) 前言

    1.为什么要有类的继承性?(继承性的好处) * ① 减少了代码的冗余,提高了代码的复用性 * ② 便于功能的扩展 * ③ 为之后多态性的使用,提供了前提图示: 2.继承性的格式:class A ext ...

  7. 数据可视化之powerBI基础(二十)Power BI度量值和新建表,有什么异同?

    https://zhuanlan.zhihu.com/p/101812525 ​PowerBI中,有三个地方可以使用DAX,分别是度量值.新建列和新建表,这三个功能并成一排摆放在这里,如图所示, 之前 ...

  8. redis(十五):Redis 有序集合(sorted set)(python)

    #coding:utf8 import redis r =redis.Redis(host="23.226.74.190",port=63279,password="66 ...

  9. df['']和df[['']]的区别

  10. [Android] keytools生成jsk文件以及获取sha1码

    生成jks文件 进入要生的jks文件的路径,打开windows的命令提示符(CMD) keytool -genkey -alias dct -keyalg RSA -keysize 1024 -key ...