今天执行一个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下编辑然后上传到lin…
windows下编辑然后上传到linux系统里执行的..sh文件的格式为dos格式.而linux只能执行格式为unix格式的脚本. 我们可以通过vi编辑器来查看文件的format格式.步骤如下: 1.首先用vi命令打开文件 [root@localhost test]# vi test.sh 2.在vi命令模式中使用 :set ff 命令 可以看到改文件的格式为dos 3.修改文件format为unix 方法一:使用vi修改文件format 命令:set ff=unix 执行完后再通过set ff…
原因是shell脚本文件的文件格式错误 通过vi编辑器来查看文件的format格式.步骤如下: 1.首先用vi命令打开文件 vi stop.sh 2.在vi命令模式中使用 :set ff 命令 可以看到改文件的格式为 fileformat=dos 3.修改文件format为unix 在vi命令模式中使用命令:set ff=unix 执行完后再通过set ff命令查看文件格式,结果如下: fileformat=unix…
问题描述:sh文件中,在win环境下,用WinSCP编辑,出现如下错误: -bash: ./start.sh: /bin/sh^M: bad interpreter: No such file or directory 解决方案:这是win的编码引起的,可通过如下解决. 1.查看该文件:vim  start.sh 2.查看该错误文件的格式(一般报错的文件格式是DOS): :set ff 3.修改该文件格式为UNIX: :set ff=unix 4.再保存. :wq!---------------…
问题:bin/sh^M: bad interpreter: No such file or directory 原因:.sh脚本在windows系统下用记事本文件编写的.不同系统的编码格式引起的. 解决方法:修改.sh文件格式      (1)使用vi工具         vi test.sh       (2)利用如下命令查看文件格式       :set ff 或 :set fileformat       可以看到如下信息       fileformat=dos 或 fileformat…
bash脚本:/bin/sh^M:bad interpreter: No such file or directory   dos2unix 实际上就是把文本文件中面的^M删除 用SHELL 写了一个简单的样例  发生例如以下错误  -bash: ./test.sh: /bin/bash^M: bad interpreter: No such file or directory  解决方法: 2.能够用运行dos2unix 命令转换编码  lizhitao@users-MacBook-Pro:~…
问题 在Windows环境下用Notepad++写了个shell脚本,上传到Linux平台后运行报错如下: /bin/sh^M: bad interpreter: No such file or directory 经过查阅资料才知道,这是由于文件格式的问题:使用vi/vim进入该shell文件,按下:进入末行模式,输入set ff查询文件格式,结果如下: fileformat=dos 这个问题是由于不同的操作系统使用了不同的符号来换行导致的,可以简单参考下下面的表格: 系统 换行符 DOS C…
在Linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory. 分析:这是不同系统编码格式引起的:在windows系统中编辑的.sh文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息. 解决:1)在windows下转换: 利用一些编辑器如UltraEdit或EditPlus等工具先将脚本编码转换,再放到Linux中执行.转换方式如下(UltraEdit):File-->Conversions-->DO…
在Linux中运行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory. 分析:这是不同系统编码格式引起的:在windows系统中编辑的.sh文件可能有不可见字符,所以在Linux系统下运行会报以上异常信息. 解决:1)在windows下转换: 利用一些编辑器如UltraEdit或EditPlus等工具先将脚本编码转换.再放到Linux中运行.转换方式例如以下(UltraEdit):File-->Conversions-->…
在Linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory.这是不同系统编码格式引起的:在windows系统中编辑的.sh文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息. 如果我们的脚本是在windows环境下编写的,需要将编码转换称unix格式. 下面我们用Notepad++中Windows,Unix,Mac三种格式之间的转换. 1.我们先查看当前文件格式(换行符用的是什么字符),如图: 2.从…