$JAVA_HOME/bin/java
$JAVA_HOME
— 调用位于由当前用户环境中设置的变量指定的文件夹的 bin 路径中的 JRE 二进制文件。也就是说,它运行 Java,特别是 JAVA_HOME 指向的版本。
尾随\
的 s 是转义字符,在行尾转义换行符。通常在 shell 程序中,行尾的换行符告诉 shell 你已经完成了命令,它现在可以解释它。以 结束一行\
告诉 shell 该命令实际上将在下一行继续,即这是一个命令。
-Dpid=myJava
— 为名为 pid 且值为 myJava 的 jre 设置系统属性。Java 程序基本上可以getProperty("pid")
在运行时询问,它会返回"myJava"
然后适当地选择它的行为,这是配置 JRE 运行的程序的一种方式。
-Xms${HEAP_MIN}m
— 将 javas 最小堆大小设置为${HEAP_MIN}
env var 中的值。堆大小是 jre 留出多少内存来存储其堆栈跟踪。
-Xmx${HEAP_MAX}m
— 将 Java 的最大堆大小设置为${HEAP_MAX}
env var 中的值。
-cp ${CPG_CLASSPATH}
— 将 Java 类路径设置为${CPG_CLASSPATH}
env var 中的值。
-Dconfig=${CFG_FILE}
— 为名为 config 的 JRE 设置系统属性,其值为 ${CFG_FILE}。
-Dcom.test.eps.configpath=${my_config}/
com.test.eps.configpath
— 为以 value命名的 JRE 设置系统属性${my_config}
。
-Dcom.test.eps.rt.config=${my_config}/
com.test.eps.rt.config
— 为以 value命名的 JRE 设置系统属性${my_config}
。
-Dlog4j.configuration=file:///${my_config}/log4j.properties.ewf.rt
— 为名为 log4j.configuration 的 JRE 设置系统属性,其值为file:///${my_config}/log4j.properties.ewf.rt
。
com.test.MyJava
是一个 Java 类,本质上位于com/test/MyJava.class
可能具有main
函数的类路径上。在 JRE 使用所有先前的配置集进行初始化后,它将运行这个类并运行它的 main 函数。
&
告诉操作系统在它自己的进程中运行这个命令,而不是在 cli 将控制权交还给用户之前等待它返回。它基本上是告诉操作系统在与运行 shell 的进程不同的进程中运行该程序。