簡體   English   中英

Shell腳本和java參數

[英]Shell script and java parameter

我編寫了下面的腳本run.sh來調用java類:

java -cp . Main $1 $2 $3 $4

這是我的java類(它只顯示args):

public class Main {
    public static void main(String[] args) {
        for (String arg : args) {
            System.out.println(arg);
        }
    }
}

除非我嘗試傳遞包含空格的參數,否則這是有效的。 例如 :

./run.sh This is "a test"

將顯示:

This
is
a
test

我怎樣才能修改我的shell腳本和/或更改我的參數語法以傳遞未經修改的參數“a test”?

像這樣:

java -cp . Main "$@"

您還必須屏蔽腳本中的每個參數:

java -cp . Main "$1" "$2" "$3" "$4"

現在參數4應為空,$ 3應為“測試”。

要驗證,請嘗試:

#!/bin/bash
echo 1 "$1"
echo 2 "$2"
echo 3 "$3"
echo 4 "$4"
echo all "$@"

並稱之為

./params.sh This is "a test" 
1 This
2 is
3 a test
4 
all This is a test

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM