[英]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.