项目需要多线程在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即可。
2 在Linux下转换1 在windows下转换
利用一些编辑器如UltraEdit或EditPlus等工具先将脚本编码转换,再放到Linux中执行。转换方式如下(UltraEdit):File-->Conversions-->DOS->UNIX即可。
只需要执行
dos2unix test.sh即可,test.sh为要执行的脚本的文件名。