今天执行一个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…
.sh: /bin/bash^M: 坏的解释器: 没有那个文件或目录 这是因为shell脚本是Windows下编辑的 格式不一样 执行 sed -i 's/\r$//' 脚本名称.sh…
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…
转载地址:http://www.cnblogs.com/pipelone/archive/2009/04/17/1437879.html 在Linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory. 分析:这是不同系统编码格式引起的:在windows系统中编辑的.sh文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息. 解决:1)在windows下转换: 利用一些编辑器如UltraEdit或EditP…
问题 在Windows环境下用Notepad++写了个shell脚本,上传到Linux平台后运行报错如下: /bin/sh^M: bad interpreter: No such file or directory 经过查阅资料才知道,这是由于文件格式的问题:使用vi/vim进入该shell文件,按下:进入末行模式,输入set ff查询文件格式,结果如下: fileformat=dos 这个问题是由于不同的操作系统使用了不同的符号来换行导致的,可以简单参考下下面的表格: 系统 换行符 DOS C…
当我们把文件从windows系统中编辑的文件拷贝到linux系统中,如果我们执行文件会保存如下的错: shell脚本报错:-bash: xxx: /bin/bash^M: bad interpreter: No such file or directory 1.在命令模式中使用set ff命令查看文件格式 :set ff 可以看到文件的格式为dos: fileformat=dos 2.通过命令行修改文件格式 :set ff=unix 执行完命令后再次通过set ff命令查看文件格式,可以看到文件…
shell脚本报错:"[: =: unary operator expected" 在匹配字符串相等时,我用了类似这样的语句: if [ $STATUS == "OK" ]; then echo "OK" fi 在运行时出现了 [: =: unary operator expected 的错误,就一直找不到原因,尝试了删除等号两侧的空格和括号里的空格都不管用,最后baidu了一下,才找到原因.把语句改成这样就不会出错了. if [[ $STATU…
问题描述: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!---------------…
nagios服务端监控客户端内存时发现监控不上 在客户端直接执行脚本,报错如下: # /usr/local/nagios/libexec/check_memory.pl -w 6% -c 3% -bash: /usr/local/nagios/libexec/check_memory.pl: /usr/bin/perl^M: bad interpreter: No such file or directory 解决: 应该是windows编码的文件在Linux无法识别的问题 在linux环境里面…