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是一个命令,所以系统找不到这个命令。切记切记,小问题有时候也会让你停滞不前的。
  • 相关阅读:
    更换pip源到国内镜像
    概率图模型学习笔记:HMM、MEMM、CRF
    xgboost入门与实战
    XGBoost浅入浅出
    使用word2vec训练中文词向量
    我为何放弃Gulp与Grunt,转投npm scripts(上)
    POJ 1265:Area
    Android网络缓存的实现思路
    设计模式:单例模式的写法(基础写法和线程安全写法)
    DFA 算法实现关键词匹配
  • 原文地址:https://www.cnblogs.com/duanxz/p/2749186.html
Copyright © 2011-2022 走看看