问题的原因是在windows下编辑然后上传到linux系统里执行的..sh文件的格式为dos格式.而linux只能执行格式为unix格式的脚本. 不要使用记事本编辑,使用代码编辑器可以正常执行…
刚刚学习SHELL 写了一个简单的例子发生如下错误 -bash: ./test.sh: /bin/bash^M: bad interpreter: No such file or directory VI打开文件,没发现任何问题, 把/bin/bash改成/bin/sh -bash: ./test.sh: /bin/sh^M: bad interpreter: No such file or directory 依然报错,脚本内容在VI下没有任何问题,仔细一看错误消息,^M..明显在第一行末尾被…
在阅读的过程中有不论什么问题,欢迎一起交流 邮箱:1494713801@qq.com    QQ:1494713801 运行一个脚本full_build.sh 时, 一直是提示我: -bash: ./full_build.sh: /bin/bash^M: bad interpreter: No such file or directory 或提醒  syntax error: unexpected end of file 出现上面错误的原因之中的一个是脚本文件是DOS格式的, 即每一行的行尾以\…
在学习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 interpr…
问题: 偶然使用 windows 进行编写脚本.使用 wsl (windows subsystem for linux) 进行运行的时候,什么事情没有.但是当把脚本移植到远程服务器进行运行的时候,发现脚本执行出现了错误:-bash: ./switch.sh: /bin/bash^M: bad interpreter: No such file or directory .一时间解决不了.理论上都使用wsl 执行过了,应该是没问题了.但是通过查找资料发现,确实是有问题: 思考: 应该是就是wind…
一些人喜欢用vim来写linux shell script, 但是, 有的人喜欢在Windows下用一些方便的编辑器(比如鼎鼎大名的Notepad++)写好, 然后拷贝文件到linux下, 结果呢, 在执行脚本a.sh的时候, 会出现如下问题: mracale@ubuntu:~$ ./long.sh -bash: ./long.sh: /bin/bash^M: bad interpreter: No such file or directory 什么原因呢, 我们有理由怀疑是文件格式问题? 我们…
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环境里面…
今天在windows下使用notepad++写了个python脚本,传到linux服务器执行后提示:-bash: ./logger.py: usr/bin/python^M: bad interpreter: No such file or directory 1.原因分析 这是不同系统编码格式引起的:在windows系统中编辑的logger.py文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息.一般是因为windows行结尾和linux行结尾标识不同造成的,在window中行结…
今天在电脑上写了一个Python脚本,写好之后用ftp传上去,然后执行/var/www/cron.py,结果报错,/bin/usr/python: bad interpreter: No such file or directory,之前都是执行python /var/www/cron.py都没问题啊,看来应该不是代码的问题. 上网上搜了一下,有很多人都反映在windows下写的python文件会由于编码问题执行出错(windows下的换行符是'\r',而linux下是'\n'),于是检查了一下…
转:http://bluedest.iteye.com/blog/1674963 在Linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory. 分析:这是不同系统编码格式引起的:在windows系统中编辑的.sh文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息. 解决:1)在windows下转换: 利用一些编辑器如UltraEdit或EditPlus等工具先将脚本编码转换,再放到Linux中执行.转…
错误原因可能有以下几种: 1.在WIN底下用文本编辑工具修改过参数变量,在保存的时候没注意编码格式造成的, 2.也有可能是在VIM里修改,第一行末尾按到ctrl_v 查看文件是DOS格式.UNIX格式还是MAC格式: vi test.sh :set ff? 查看命令执行后的输出,如果有dos字样,则说明文件是DOS格式. 更改DOS格式为UNIX格式: vi test.sh set ff=unix#修改后保存并退出:x 然后保存即可.…
1.开始以为是sh路径问题,用which查看是正确的. 2.用vim打开文件:vi 文件名. 3.按':'号键,输入查看文件的格式命令set ff或set fileformat. 4.可以看到格式是DOS的. 5.再按':'键输入set ff=unix 或 set fileformat=unix设置格式为unix的. 6.然后':'键后输入wq,保存,再重新运行就可以了.…
1.用vim打开文本 输入 : set ff 这里要先按":"号 显示文件为dos格式 2.强制装换格式为unix 先按冒号":" set ff=unix 然后保存退出 3.再次执行恢复正常.…
百度解释说是因为这个文件在windows下编辑过,windows下每一行的结尾是\n\r, 而linux下每一行结尾是\n,所以只需要删除这个文件中的\r字符就可以了sed -i 's/\r$//' install.sh…
利用如下命令查看文件格式 :set ff 或 :set fileformat 可以看到如下信息 fileformat=dos 或 fileformat=unix 利用如下命令修改文件格式 :set ff=unix 或 :set fileformat=unix :wq (存盘退出) 最后再执行文件 #sh>./filename…
-bash: ./test.sh: /bin/bash^M: bad interpreter: No such file or directory VI打开文件,没发现任何问题, 把/bin/bash改成/bin/sh -bash: ./test.sh: /bin/sh^M: bad interpreter: No such file or directory 依然报错,脚本内容在VI下没有任何问题,仔细一看错误消息,^M..明显在第一行末尾被加入了个^M, 这种情况应该有两种原因 1.在WIN…
转载网址:http://blog.csdn.net/red10057/article/details/8051650 刚刚学习 SHELL 写了一个简单的例子 发生如下错误 -bash: ./test.sh: /bin/bash^M: bad interpreter: No such file or directory VI打开文件,没发现任何问题, 把/bin/bash改成/bin/sh -bash: ./test.sh: /bin/sh^M: bad interpreter: No such…
<今天遇到的问题,  网上有非常多类似的文章,  个人记录下来,  加深记忆,  已经明确的就绕路吧.> 运行一个脚本full_build.sh 时, 一直是提示我: -bash: ./full_build.sh: /bin/bash^M: bad interpreter: No such file or directory 開始是说我权限不够, 不能运行, 接着我就把权限给改了,  就一直报上面问题. 记得几个月前, 就遇到过类似的问题, 当时是在编译Android Framework, 后…
执行一个脚本full_build.sh 时, 一直是提示我: -bash: ./full_build.sh: /bin/bash^M: bad interpreter: No such file or directory 开始是说我权限不够, 不能执行, 接着我就把权限给改了,  就一直报上面问题. 记得几个月前, 就遇到过类似的问题, 当时是在编译Android Framework, 后来打开出错的.xml文件, 很直接的看到很多的^M的标识,  由于负责编译的同事帮忙解决了, 就没有去问为什…
参考:-bash: ./my_script: /bin/bash^M: bad interpreter: No such file or directory [duplicate] 有的时候运行.sh文件会莫名其妙报错,报错信息如下: $ ./scriptname.sh -bash: ./scriptname.sh: /bin/bash^M: bad interpreter: No such file or directory 解决办法:运行如下命令 $sed -i -e 's/\r$//' s…
在windows下编写shell脚本在linux下运行会出报错: [hadoop@master data]$ ./load_ods_table.sh -bash: ./load_ods_table.sh: /bin/bash^M: bad interpreter: No such file or directory 错误原因,文件格式错误 使用: set ff 命令可以看到 fileformat=dos 解决办法 :set fileformat=unix :wq保存修改 执行sed -i "s/…
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…
今天在WingIDE下写了个脚本,传到服务器执行后提示: -bash: /usr/bin/autocrorder: /usr/bin/python^M: bad interpreter: No such file or directory 分析:这是不同系统编码格式引起的:在windows系统中编辑的.sh .py文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息.一般是因为windows行结尾和linux行结尾标识不同造成的. 解决:1)在windows下转换: 利用一些编辑器如…
执行shell脚本时提示bad interpreter:No such file or directory的解决办法 故障现象:在终端直接cd /var正常,在shell脚本中执行则报错.原因是脚本是在windows平台下写的,换行符与Linux不同,造成脚本不能正确执行 出现bad interpreter:No such file or directory(没有那个文件或目录)的原因,是文件格式的问题.这个文件是在Windows下编写的.换行的方式与Unix不一样,但是在vim下面如果不Set…
今天执行一个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…
运行shell脚本时,报下面这个错误:   -bash: ./radar.sh: /bin/sh^M: bad interpreter: 没有那个文件或目录 错误分析: 因为操作系统是windows,我在windows下编辑的脚本,所以有可能有不可见字符. 脚本文件是DOS格式的, 即每一行的行尾以\n\r来标识, 其ASCII码分别是0x0D, 0x0A.   可以有很多种办法看这个文件是DOS格式的还是UNIX格式的, 还是MAC格式的   解决方法: vim filename 然后用命令…
昨天在windows下用写字板写了个shell脚本,使用winscp上传到linux上运行的时候发现运行不了,提示-bash: ./job.sh: /bin/sh^M: bad interpreter: 没有那个文件或目录,经过查找资料发现原因如下: 1.dos格式的文本文件要转换为unix格式的文本文件,在linux上操作如下:#unix2dos job.sh 2.或者vi job.sh set ff=unix wq! 保存退出后就可以运行.…
当我们把文件从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命令查看文件格式,可以看到文件…
问题描述: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!---------------…