zoukankan      html  css  js  c++  java
  • bin/sh^M: bad interpreter: No such file or directory解决

     原因是.sh脚本在windows系统下用记事本文件编写的。不同系统的编码格式引起的。

     
    转行文件的编码格式:
     
    1、确保用户对文件有读写及执行权限
         oracle@linux-106:~/RMAN/bin> chmod a+x test.sh
    2、然后修改文件格式
       (1)使用vi工具
         oracle@linux-106:~/RMAN/bin> vi test.sh
        (2)利用如下命令查看文件格式 
         :set ff 或 :set fileformat 
         可以看到如下信息 
         fileformat=dos 或 fileformat=unix 
         (3) 利用如下命令修改文件格式 
         :set ff=unix 或 :set fileformat=unix 
         :wq (存盘退出)
     
    3、最后再执行
        oracle@linux-106:~/RMAN/bin> ./test.sh
    Linux下执行.sh脚本错误:command not found
          command not found这个问题一般都是像我这样的新手才会犯的,所以刚学linux的童鞋们遇到这个问题可以看看我的解释,可能会给你帮助。
     
          其实这个问题可能是很多原因引起的,今天我碰到原因很值得关注,一般我们在写java代码的时候定义变量都喜欢这样写” String  test  =  “ ”; ”。今天我写了一个shell脚本,在脚本里定义了一个变量,(“host = “””),结果执行的时候出现了这个command not found。我是冥思苦想啊,怎么想也想不出为什么,后来我终于发现问题的所在了就是一个空格在作怪,其实在定义shell脚本的变量时在变量名和等号之间是不允许有空格的,而我写的是test和=之间有空格,所以系统默认为,test是一个命令,所以系统找不到这个命令。切记切记,小问题有时候也会让你停滞不前的。
  • 相关阅读:
    寒假短期学习计划
    PAT 1001 A+B 解题报告
    JavaScript 原型链、继承
    JavaScript 数据扁平化处理
    每周一篇React: 高阶 hoc_component 使用
    每天一道算法题: day1 翻转图像
    项目中下载加权,你是怎么做的,欢迎评论。
    前端封装验证码方法,封装验证码类
    文件下载之后默认不打开实现方式
    文件下载之后默认不打开实现方式
  • 原文地址:https://www.cnblogs.com/duanxz/p/2749186.html
Copyright © 2011-2022 走看看