シェルスクリプトからJava基本メソッドにすぐに渡したい次のデータがあります。
1 firstfile.txt Success
2 secondfile.txt Failed
3 thirdfile.txt Success
次のようにjavaを呼び出すことができることを知っています。ここで、合計はvar1
単一のvar2
文字列を表します。
java $myJava "$var1" "$var2"
しかし、上記のデータをJavaに配列として渡すことはできますか?
答え1
コマンドラインを介してシェルスクリプトからJava配列を渡すことはできません。配列を表す文字列のリストを渡すことができます。
例えば、
a=(
'1 firstfile.txt Success'
'2 secondfile.txt Failed'
'3 thirdfile.txt Success'
)
printf "We will pass %d parameters:" ${#a[@]}; printf " '%s'" "${a[@]}"; printf "\n"
java "$myjava" "${a[@]}"
ステートメントでWe will pass...
パラメータとスペースで区切られた単語の違いを示すために、文字列の周りに引用符を追加しました。 Javaプログラムで引用符を表示できません。