shell 脚本执行,出现错误bad interpreter: No such file or directory

: bad interpreter: 没有那个文件或目录中,我们已经解决了这个问题,下面是一篇来自网络的文章,也可以顺便看一下:


出现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格式的, 然后存盘退出. 再运行一遍看.

**********************************************************************

转换不同平台的文本文件格式可以用
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里面有没有程序要用到的每一个命令(没指定绝对路径的那种). 你这么小的程序, 可以一行一行核对

 @import url(http://www.blogjava.net/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);  
2019-03-10 23:31

知识点

相关教程

更多

: bad interpreter: 没有那个文件​或目录

在window下编写的shell脚本,上传到linux服务器,执行脚本的时候提示以下异常: bad interpreter: 没有那个文件或目录,有些平台可能也会这样提示:/bin/sh^M: bad interpreter: 没有那个文件或目录

使用solr报错,错误信息 include(SolrClient.php): failed to open stream: No such file or directory

这个是因为本地没有安装php-solr的扩展导致的,安装方法(使用的是ubuntu) cd /opt wget http://pecl.php.net/get/solr-1.0.2.tgz tar -xvf solr-1.0.2.tgz && cd solr-1.0.2 phpize ./configure make make install 如果没有出错提示,到这一步是安装完成了

LINUX SHELL脚本攻略

LINUX SHELL脚本攻略的内容摘要:内容简介《Linux Shell脚本攻略》通过细致剖析实际应用中的110多个案例,使许多看似复杂的Linux shell脚本任务迎刃而解。《Linux Shell脚本攻略》会帮助读者利用少量命令的组合

shell脚本常规技巧

邮件相关  发送邮件:    #!/usr/bin/pythonimport sys;import smtplib;from email.MIMEText import MIMETextmail_host = sys.argv[1]mail_user = sys.argv[2]mail_pass = sys.argv[3]mail_from = sys.argv[4]mail_to = sys.a

Java 流(Stream)、文件(File)和IO

Java 流(Stream)、文件(File)和IO    Java.io包几乎包含了所有操作输入、输出需要的类。所有这些流类代表了输入源和输出目标。  Java.io包中的流支持很多种格式,比如:基本类型、对象、本地化字符集等等。  一个流可以理解为一个数据的序列。输入流表示从一个源读取数据,输出流

Hadoop的shell脚本分析

前记:  这些天一直学习Hadoop,学习中也遇到了许多的问题,主要是对hadoop的shell脚本和hadoop的源码概念不够清楚,所以我就对hadoop的bin目录下的shell脚本进行了研究,有一些成果想记录下来,也希望大家前来批评指正。 分析原因:  很多hadoop的初学者对hadoop的脚本不是很清楚,不知道为什么可以在命令行中启动hadoop,也不知道为什么有时在命令行中运行hado

shell自动化配置Hadoop配置文件示例

shell自动化配置Hadoop配置文件示例 #!/bin/bash read -p 'Please input the directory of hadoop , ex: /usr/hadoop :' hadoop_dir if [ -d $hadoop_dir ] ; then echo 'Yes , this directory exist.' else  echo 'Error , thi

Shell的分类

Shell主要分为图形界面和命令行两种。Graphical User Interface shell,即GUI Shell,应用最为广泛的微软的Windows系列制作系统。Command Line Interface shell,即CLI Shell。

Linux Shell Scripting Cookbook(Linux Shell脚本攻略_英文版.pdf)

Linux Shell Scripting Cookbook的内容摘要:中文名:Linux Shell 脚本手册Book DescriptionSolve real-world shell scripting problems with over 110 simple b

shell是什么

shell简单理解就是类似于一个客户端窗口,用户输入指令,它解析好(操作系统能读得懂),然后传给操作系统。然后操作系统处理后,通过它反馈给客户端。说白了,就是一个中介。

Hadoop FS Shell命令大全

调用文件系统(FS)Shell命令应使用 bin/Hadoop fs <args>的形式。 所有的的FS shell命令使用URI路径作为参数。URI格式是scheme://authority/path。对HDFS文件系统,scheme是hdfs,对本地文件系统,scheme是file。其中scheme和authority参数都是可选的,如果未加指定,就会使用配置中指定的默认schem

Hadoop 文件系统shell命令

调用文件系统(FS)Shell命令应使用 bin/Hadoop fs <args>的形式。 所有的的FS shell命令使用URI路径作为参数。URI格式是scheme://authority/path。对HDFS文件系统,scheme是hdfs,对本地文件系统,scheme是file。其中scheme和authority参数都是可选的,如果未加指定,就会使用配置中指定的默认schem

JAVA调用shell脚本返回执行结果是否成功?

需求功能:JAVA调用shell导入大量数据,优化数据库(informix),创建索引,整个执行脚本时间预计 2个小时,我是这样做的。】  各位帮忙看看如下代码是否会有什么漏洞或者不足之处,或者有什么更好的办法,谢谢!  Runtime rt = Runtime.getRuntime();  Process p = rt.exec(“shell.sh”);  if(p.waitFor() != 0

ftp登陆远程linux机器,并执行shell脚本,如何处理

用的是apache的FTPClient,  已经连接上ftp了  String password = "";  String username = "";  String hostname = "";  FTPClient ftp = new FTPClient();  try {  ftp.connect(hostname);  ftp

【HDFS】HADOOP DISTRIBUTED FILE SYSTEM

【HDFS】Hadoop DISTRIBUTED FILE SYSTEM THE CAST CLIENT:人们都坐在客户端前,向客户端输入/输出数据 NAMENODE:服务端只有一个,负责协调HDFS存储系统,例如数据分配情况,备份策略,故障诊断等 DATANODE:用于存储数据的集合,结构为一个cluster包含诺干个racks,一个racks包含诺干个datanode,datanode也就相当

最新教程

更多

java线程状态详解(6种)

java线程类为:java.lang.Thread,其实现java.lang.Runnable接口。 线程在运行过程中有6种状态,分别如下: NEW:初始状态,线程被构建,但是还没有调用start()方法 RUNNABLE:运行状态,Java线程将操作系统中的就绪和运行两种状态统称为“运行状态” BLOCK:阻塞状态,表示线程阻塞

redis从库只读设置-redis集群管理

默认情况下redis数据库充当slave角色时是只读的不能进行写操作,如果写入,会提示以下错误:READONLY You can't write against a read only slave.  127.0.0.1:6382> set k3 111  (error) READONLY You can't write against a read only slave. 如果你要开启从库

Netty环境配置

netty是一个java事件驱动的网络通信框架,也就是一个jar包,只要在项目里引用即可。

Netty基于流的传输处理

​在TCP/IP的基于流的传输中,接收的数据被存储到套接字接收缓冲器中。不幸的是,基于流的传输的缓冲器不是分组的队列,而是字节的队列。 这意味着,即使将两个消息作为两个独立的数据包发送,操作系统也不会将它们视为两个消息,而只是一组字节(有点悲剧)。 因此,不能保证读的是您在远程定入的行数据

Netty入门实例-使用POJO代替ByteBuf

使用TIME协议的客户端和服务器示例,让它们使用POJO来代替原来的ByteBuf。

Netty入门实例-时间服务器

Netty中服务器和客户端之间最大的和唯一的区别是使用了不同的Bootstrap和Channel实现

Netty入门实例-编写服务器端程序

channelRead()处理程序方法实现如下

Netty开发环境配置

最新版本的Netty 4.x和JDK 1.6及更高版本

电商平台数据库设计

电商平台数据库表设计:商品分类表、商品信息表、品牌表、商品属性表、商品属性扩展表、规格表、规格扩展表

HttpClient 上传文件

我们使用MultipartEntityBuilder创建一个HttpEntity。 当创建构建器时,添加一个二进制体 - 包含将要上传的文件以及一个文本正文。 接下来,使用RequestBuilder创建一个HTTP请求,并分配先前创建的HttpEntity。

MongoDB常用命令

查看当前使用的数据库    > db    test  切换数据库   > use foobar    switched to db foobar  插入文档    > post={"title":"领悟书生","content":"这是一个分享教程的网站","date":new

快速了解MongoDB【基本概念与体系结构】

什么是MongoDB MongoDB is a general purpose, document-based, distributed database built for modern application developers and for the cloud era. MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。

windows系统安装MongoDB

安装 下载MongoDB的安装包:mongodb-win32-x86_64-2008plus-ssl-3.2.10-signed.msi,按照提示步骤安装即可。 安装完成后,软件会安装在C:\Program Files\MongoDB 目录中 我们要启动的服务程序就是C:\Program Files\MongoDB\Server\3.2\bin目录下的mongod.exe,为了方便我们每次启动,我

Spring boot整合MyBatis-Plus 之二:增删改查

基于上一篇springboot整合MyBatis-Plus之后,实现简单的增删改查 创建实体类 添加表注解TableName和主键注解TableId import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baom

分布式ID生成器【snowflake雪花算法】

基于snowflake雪花算法分布式ID生成器 snowflake雪花算法分布式ID生成器几大特点: 41bit的时间戳可以支持该算法使用到2082年 10bit的工作机器id可以支持1024台机器 序列号支持1毫秒产生4096个自增序列id 整体上按照时间自增排序 整个分布式系统内不会产生ID碰撞 每秒能够产生26万ID左右 Twitter的 Snowflake分布式ID生成器的JAVA实现方案