zoukankan      html  css  js  c++  java
  • Linux sh脚本

    项目需要多线程在Linux下的用批处理文件处理 例如:该文件名为test.sh,文件内容如下

    #!/bin/sh
    export JAVA_HOME=/usr/local/jdk1.6.0_35
    export PROJECT_HOME=/home/runner/cloudsh/WebRoot/WEB-INF/
    export PATH=$JAVA_HOME/jre/bin:$PATH
    export CLASSPATH=$JAVA_HOME/jre/lib:$PROJECT_HOME/classes:$CLASSPATH
    # add all the jar
    for loop in `ls $PROJECT_HOME/lib/*.jar`;do
    export CLASSPATH=${loop}:${CLASSPATH}
    done
    java net.maxt.cloudsh.main.MainThread

    有时在window下编辑然后放到Linux下执行会出现/bin/sh^M:bad interpreter: No such file or directory  的错误,是因为

    不同系统编码格式引起的,在windows系统中编辑的.sh文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息。

    解决方法:

    解决:
    1 在windows下转换
    利用一些编辑器如UltraEdit或EditPlus等工具先将脚本编码转换,再放到Linux中执行。转换方式如下(UltraEdit):File-->Conversions-->DOS->UNIX即可。
    sh脚本异常:/bin/sh^M:bad interpreter: No such file or directory - myswirl - 漩涡的窝
    2 在Linux下转换

     只需要执行 

    dos2unix test.sh即可,test.sh为要执行的脚本的文件名。



  • 相关阅读:
    linux 文件权限(s、t、i、a)解析
    vim Vundle
    数据结构学习(1)
    Android ImageView设置图片原理(上)
    C++11 之auto
    Android屏幕分辨率获取方法--源码剖析
    C++的发展方向是对的嘛?
    c++ 的前世今生
    学习知识的一种思路
    遗失的访谈小评
  • 原文地址:https://www.cnblogs.com/chyg/p/2688684.html
Copyright © 2011-2022 走看看