• 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为要执行的脚本的文件名。



  • 相关阅读:
    14.RabbitMQ
    13.跨域
    12.EF
    11.Redis
    GitHub获取用户ID
    10.AOP
    第26节课:pytest结合Allure操作
    第25节课:pytest测试框架
    第二十四节课:requests爬虫实战
    第二十三节课:正则表达式re模块:
  • 原文地址:https://www.cnblogs.com/chyg/p/2688684.html
Copyright © 2020-2023  润新知