转自leslie - wqyuwss的BLOG
http://www.52rd.com/Blog/Detail_RD.Blog_wqyuwss_6208.html?Method=Reload&#Flag_Comment

往Linux服务器上放一个可执行文件manager.sh,chmod +777授权可执行后,想让它老人家跑起来,可是就扔"bad interpreter:No such file or directory"这错误了,一番google之后,找到了解决办法,我只测试了第一种方法就好使了,后面的方法有时间的童鞋可以去测试一下,感谢leslie 的分享。

分析:是文件格式的问题。这个文件是在Windows下编写的。换行的方式与Unix不一样,但是在VI下面如果不Set一下又完全看不出来。
 
解决方法:
1、上传到linux主机运行
 
     chmod +x back
 
     ./back
 
    错误提示如下:
    bash: ./back : bad interpreter:No such file or directory
 
2、错误分析:
 
因为操作系统是windows,在windows下编辑的脚本,所以有可能有不可见字符。
 
从你的脚本及报告的错误看来, 很有可能是你的脚本文件是DOS格式的, 即每一行的行尾以\r\n来标识, 其ASCII码分别是0x0D, 0x0A.
可以有很多种办法看这个文件是DOS格式的还是UNIX格式的, 还是MAC格式的
(1). vi filename
然后用命令
:set ff?
可以看到dos或unix的字样. 如果的确是dos格式的, 那么你可以用set ff=unix把它强制为unix格式的, 然后存盘退出. 再运行一遍看.
(2). 用joe filename
如果是DOS格式的, 那么行尾会有很多绿色的^M字样出现. 你也可以用上述办法把它转为UNIX格式的.
(3). 用od -t x1 filename
如果你看到有0d 0a 这样的字符, 那么它是dos格式的, 如果只有0a而没有0d, 那么它是UNIX格式的, 同样可以用上述方法把它转为UNIX格式的.
 
转换不同平台的文本文件格式可以用
1. unix2dos或dos2unix这两个小程序来做. 很简单. 在djgpp中这两个程序的名字叫dtou和utod, u代表unix, d代表dos
2. 也可以用sed 这样的工具来做:
sed 's/^M//' filename > tmp_filename
mv -f tmp_filename filename
来做
特别说明:^M并不是按键shift + 6产生的^和字母M, 它是一个字符, 其ASCII是0x0D, 生成它的办法是先按CTRL+V, 然后再回车(或CTRL+M)
 
另外, 当SHELL程序报告command not found时, 总是去检查一下你的PATH里面有没有程序要用到的每一个命令(没指定绝对路径的那种). 你这么小的程序, 可以一行一行核对.

出现bad interpreter:No such file or directory的原因相关推荐

  1. [转]bad interpreter:No such file or directory的原因

    1 http://hi.baidu.com/injava/item/ca06dffa77888b18e3e3bd20 2 http://blog.csdn.net/silscorige/article ...

  2. Linux shell 脚本报错:/bin/bash^M: bad interpreter: No such file or directory

    今天遇到一个很诡异的问题,一直运行很正常的shell脚本失败了,只是昨天增加了一个参数而已. 报错信息: /bin/bash^M: bad interpreter: No such file or d ...

  3. /usr/bin/perl^M: bad interpreter: No such file or directory

    1.web显示 2.nagios服务端测试 [root@nagiosserver objects]# /usr/local/nagios/libexec/check_nrpe -H 10.0.0.10 ...

  4. sh脚本异常:bad interpreter: No such file or directory

    转:http://bluedest.iteye.com/blog/1674963 在Linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file o ...

  5. Error处理:/bin/bash^M: 坏的解释器: 没有该文件或目录(bad interpreter: No such file or directory)...

    在Linux下编译运行脚本的时候出现"/bin/bash^M: 坏的解释器: 没有那个文件或目录(bad interpreter: No such file or directory)&qu ...

  6. redhat6.4执行二进制程序报错:/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory...

    redhat6.4执行二进制程序报错: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory 原因: 在64位的系统中执 ...

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

    今天写了一个shell脚本,然后在执行的时候报错,脚本内容很简单,仅供测试: Shell代码   #!/bin/sh echo "test shell " 具体报错信息如下: Sh ...

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

    今天在Linux下运行./l-c, 谁知道竟然报出 ../configure: /bin/sh^M: bad interpreter: No such file or directory  , 这个问 ...

  9. Bash脚本报错:“/bin/bash^M: bad interpreter: No such file or directory”

    1.问题 github下载一个源码,运行install脚本时(# ./myinstal_cp)一直报错"/bin/bash^M: bad interpreter: No such file ...

最新文章

  1. python读取多个文件夹_在python中如何从不同的文件夹读取多个文件
  2. Ajax和JSON-学习笔记03【JSON_基础语法】
  3. Linux的cmake3的安装 cmake3编译安装成功了的 yum对于cmake3表示成功但实际没成功
  4. 为什么将老年代移动到方法区
  5. c mysql并行多条sql_Linux上使用C语言执行多条SQL命令访问MYSQL数据库的有关问题...
  6. 重学java基础第八课:硬件和冯洛伊曼系统
  7. 【TensorFlow】TensorFlow从浅入深系列之十一 -- 教你深入理解卷积神经网络中的卷积层
  8. java输出结果校验_2. Bean Validation声明式校验方法的参数、返回值
  9. BZOJ 5277 IQ题orz
  10. 手机还能做电路仿真啊!电子电路兴趣爱好者福音!
  11. java Vector 在多线程使用中需要注意的问题
  12. 2.3 伯努利试验和直线上的随机游动
  13. (二)Chrome新标签页的设置
  14. android中按钮右对齐,在Android中左右对齐双按钮布局
  15. 数据通信与计算机网络A笔记
  16. 【数学】泰勒公式推导(佩亚诺余项)
  17. 目前最好用的NAS系统是什么?
  18. 未来拟投10亿!保乐力加峨眉山威士忌酒厂正式揭幕;欧舒丹收购美国护理品牌约83%间接股权 | 美通社头条...
  19. RabbitMQ用户管理界面各个标签的解释,使用图片标注
  20. 自媒体人必看的几个文案网站,让文案创作更有色

热门文章

  1. 中秋福利 | 10本技术图书(编程语言、数据分析等)免费送
  2. 7-1 成绩统计分析表(*)
  3. 电脑垃圾清理 -windows电脑裸奔必知技巧
  4. Java实现添加文字水印、图片水印功能
  5. 要有成为真正JNCIE的勇气
  6. Progress事件
  7. 《Android编程兵书》PDF版电子书下载
  8. 场馆预约小程序开发制作功能介绍
  9. APEX手游上线,附苹果IOS、安卓端下载教程及安装文件
  10. (转载)Knuth-Morris-Pratt算法(简称KMP)学习