1

bash プログラムに渡される引数を変更することはできますか? そしてそれらをJavaプログラムに渡しますか?

によってbashプログラムに渡されたすべての引数にアクセスできることを知っており、"$@"それらをJavaプログラムのようなJavaプログラムに渡すことができますjava com.myserver.Program "$@"。しかし、内部の特定の引数の値を変更してから"$@"、上記のJavaプログラムを呼び出すことは可能"$@"ですか?

を使用して引数の値にアクセスできることも知っていますが"$@[1]"、それらを反復処理して適切な位置で値を変更するにはどうすればよいでしょうか? 私もこれを知っています:

for arg
do
....
done

しかし、do ループ内で引数の値を変更してから Java プログラムを呼び出すにはどうすればよいでしょうか。

4

1 に答える 1

4

位置パラメーターのすべての項目を反復処理してから、それらを別の配列に追加し、必要に応じて変更します。

ARGS=()
for A in "$@"; do
    # Modify A then add it to args. 
    # A=${A//something/something} ## Just an example.
    ARGS+=("$A")
done

# Then call java:

java com.myserver.Program "${ARGS[@]}"

また、位置パラメータを処理しているので、次の形式を使用する方が簡単ですfor:

for A; do
于 2013-09-15T16:24:04.830 に答える