1
我有一個簡單的Java程序剛剛打印參數傳遞在shell腳本轉義星號時
public class CmdArgsTest {
public static void main(String[] args) {
for(String arg : args){
System.out.println(arg);
}
}
}
我從一個shell腳本setupTest.sh
調用該Java程序是這樣 java CmdArgsTest $*
當我使用那些參數調用setupTest.sh
時*
被目錄中的所有文件名取代。
setupTest.sh -tt oracle -tn test_ora -sqlQuery "select * from myTable"
即使我逃出*
與\
但傳遞的參數是單獨\*
而不是*
。我也試過把*
放在引號中,但是沒有幫助。
我無法像java CmdArgsTest "$*"
那樣運行腳本,因爲所有的命令都傳遞了一個大字符串。
任何幫助將不勝感激。
感謝, SAURABH