2013-07-29 123 views
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 $? 
+0

請使用$ VAL1和$ VAL2嘗試發佈您的嘗試 - 通常,這是正確的方法。 –

+0

向我們展示如何引用cronRunner中的參數。此外,這是與'bash','ksh'或其他什麼運行? – splungebob

+0

把它修好了。我做的試驗是正確的。我在傳遞參數時有一個錯字 – Flash

回答

0

地點:

... 
    ${JVM_ARGS} \ 
    com.cron.cronRunner $VAL1 $VAL2\ 
    ; 

編輯:我貼這個OP是編輯之前反映相同

相關問題