1

是否可以修改传递给 bash 程序的参数?然后将它们传递给 Java 程序?

我知道我们可以访问传递给 bash 程序的所有参数,"$@"并且我可以将它们传递给 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 回答