0
我有一個嘗試運行java類的shell腳本。該腳本看起來像下面:在shell腳本中傳遞java命令行參數
export VAL1="param1";
export VAL2="param2";
set JAVA_HOME
set CLASSPATH
exec ${JAVA_HOME}/bin/java \
-Dsun.net.inetaddr.ttl=1 \
-Dsun.net.inetaddr.negative.ttl=1 \
-Djava.io.tmpdir=<SOME-PATH>/tmp \
-Dfile.encoding=UTF-8 \
-XX:HeapDumpPath=<SOME-PATH>/var/output/logs/ \
-XX:+HeapDumpOnOutOfMemoryError \
\
${JVM_ARGS} \
com.cron.cronRunner \
;
exit $?
我想通過VAL1和val2作爲命令行參數下面我列舉調用cronRunner類。我嘗試了$ VAL1和$ VAL2,但是當我嘗試解引用參數時,該類拋出了NPE。
我在這裏做錯了什麼?這是我的嘗試。
編輯:你的ARGS主類的名稱之後
export VAL1="param1";
export VAL2="param2";
set JAVA_HOME
set CLASSPATH
exec ${JAVA_HOME}/bin/java \
-Dsun.net.inetaddr.ttl=1 \
-Dsun.net.inetaddr.negative.ttl=1 \
-Djava.io.tmpdir=<SOME-PATH>/tmp \
-Dfile.encoding=UTF-8 \
-XX:HeapDumpPath=<SOME-PATH>/var/output/logs/ \
-XX:+HeapDumpOnOutOfMemoryError \
\
${JVM_ARGS} \
com.cron.cronRunner $VAL1 $VAL2 \
;
exit $?
請使用$ VAL1和$ VAL2嘗試發佈您的嘗試 - 通常,這是正確的方法。 –
向我們展示如何引用cronRunner中的參數。此外,這是與'bash','ksh'或其他什麼運行? – splungebob
把它修好了。我做的試驗是正確的。我在傳遞參數時有一個錯字 – Flash