linux shell执行java代码带参数
1、先写好main方法做测试
/**
* @apiNote 入口
* @author hcj
*/
public class Main {
public static void main(String[] args) {
System.out.println("开始:"+DateUtile.nowDate());
for (int i = 0; i < args.length; i++) {
System.out.println("入参:"+args[i]);
}
System.out.println("结束:"+DateUtile.nowDate());
}
}
2、idea 配置jar包导出路径
3、上传到linux服务器,编写测试shell脚本
#!/bin/sh
echo ""
echo "----------------------------------"
echo "start at `date '+%Y-%m-%d %H:%M:%S'` ..."
#由于本机没设置java_home的环境变量 先申明下
JAVA_HOME=/was/hcj/jdk1.8.0_11
CLASSPATH=.:${JAVA_HOME}/lib:${JAVA_HOME}/lib/tools.jar
#CLASSPATH后面加上自己导出的jar包路径
CLASSPATH=${CLASSPATH}:/was/hcj/javaxiaochengxu.jar
#main方法所在的类路径
MAIN_CLASS=Main
echo $CLASSPATH
#执行 后面是带的参数
${JAVA_HOME}/bin/java -classpath ${CLASSPATH} ${MAIN_CLASS} 1 2 3 4 5 6 7 8
echo "finished at `date '+%Y-%m-%d %H:%M:%S'` ..."
注意: 给脚本加上执行权限 chmod 755 test.sh
执行脚本 ./test.sh
入参也可以在执行shell脚本的时候带上,比如
./test.sh 1 2 3 4 5
在shell脚本里$1 $2 $3 $4 $5 接收就是