执行shell出现bad interpreter:No such file or directory

linux执行shell出现bad interpreter:No such file or directory的原因
是文件格式的问题。这个文件是在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) 用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里面有没有程序要用到的每一个命令(没指定绝对路径的那种). 你这么小的程序, 可以一行一行核对.

转载于:https://www.cnblogs.com/wicub/p/6210431.html

执行shell出现bad interpreter相关推荐

  1. linux系列(七):shell编程、shell概念、ssh协议概念、执行shell文件的三种方式

    1 概念 https://www.xshell.com/zh/free-for-home-school/ 1.1 xshell(执行linux命令的客户端软件) Xshell [1] 是一个强大的安全 ...

  2. jenkins 插件执行shell命令时,提示“Command not found”处理方法

    首先提示找不到"Command not found,可能我们第一反应是查看目标机器是否已支持该命令,不过如果相信能找到这里来的朋友估计遇到的跟我一样,其实目标机器是没有问题的通过一些远程工具 ...

  3. apache php 执行shell,PHP执行普通shell命令流程解析

    这里演示一些普通的shell命令 php执行shell命令,可以使用下面几个函数: string system ( string $command [, int &$return_var ] ...

  4. Linux中执行shell脚本的4种方法

    这篇文章主要介绍了Linux中执行shell脚本的4种方法总结,即在Linux中运行shell脚本的4种方法,需要的朋友可以参考下. bash shell 脚本的方法有多种,现在作个小结.假设我们编写 ...

  5. Linux下如何执行Shell脚本

    Linux下如何执行Shell脚本 Linux下你可以有两种方式执行Shell脚本: 1.用shell程序执行脚本:根据你的shell脚本的类型,选择shell程序,常用的有sh,bash,tcsh等 ...

  6. 运维经验分享(六)-- 深究crontab不能正确执行Shell脚本的问题(二)

    运维经验分享作为一个专题,目前共7篇文章 <运维经验分享(一)-- Linux Shell之ChatterServer服务控制脚本> <运维经验分享(二)-- Linux Shell ...

  7. Jenkins执行shell脚本启动tomcat失败解决方法

    Jenkins执行shell脚本启动tomcat失败解决方法 参考文章: (1)Jenkins执行shell脚本启动tomcat失败解决方法 (2)https://www.cnblogs.com/wa ...

  8. 如何指定在Git上执行shell命令时使用的私有SSH密钥?

    也许是一个相当不寻常的情况,但我想指定一个私有SSH密钥,以便在从本地计算机执行shell(git)命令时使用. 基本上是这样的: git clone git@github.com:TheUser/T ...

  9. linux c 执行shell命令并获取返回结果

    最近在项目中用到了C语言执行shell命令的问题,调查了一下,一般有system函数.exec族函数,但是还不太清楚怎么获取shell命令执行的返回信息. 例如执行一个ifconfig命令,肯定需要获 ...

最新文章

  1. android录制视频横向,Android从零开始(26)(设置全屏+横屏、相机拍照、视频录制)(新)...
  2. Bean标签范围配置
  3. Android public class MyApplication extends MultiDexApplication使用
  4. fastadmin自定义按钮不是ajax,Fastadmin 自定义按钮实现审核功能
  5. html 中怎样显示enum,JavaScript如何枚举?
  6. 算法导论 第十三章 红黑树(python)-1插入
  7. Oracle分区技术特性详细解读
  8. python编程(pdb调试)
  9. 如果实现了一种不用暂停世界的GC算法,会对现在编程语言产生什么影响?
  10. java项目.gitignore文件过滤规则
  11. 机器学习之支持向量机(SVM)小结
  12. python编程方式_python的两种编程方式是什么
  13. JavaScript|表格背景颜色改变页面
  14. Android项目 moudle和library转换
  15. 《物流与供应链管理》读书笔记
  16. uniapp使用插件 小程序正常 app报错cid unmatched at view.umd.min.js:1
  17. 曾国藩:成大事者不纠结
  18. HTML,CSS,JS实现网页聊天窗口
  19. 判断ip地址是否在同一网段
  20. 洛谷题库答案(持续更新)

热门文章

  1. hadoop hive 2.1.1 将Hive启动为服务
  2. Bigtable的些许重点
  3. 阿里云天池 Python训练营Task3: Python基础进阶:从函数到高级魔法方法 学习笔记
  4. Linux实战教学笔记12:linux三剑客之sed命令精讲
  5. 为什么Facebook的API以一个循环作为开头?
  6. 什么是Hyperledger?Linux如何围绕英特尔的区块链项目构建开放平台?
  7. iOS 开发一定要尝试的 Texture(ASDK) 1
  8. Liferay 部署war包时候的deployDirectory 细节分析
  9. 社交大佬们的数据“大”在哪里?
  10. Mac Book Pro不能识别移动硬盘