将第二个参数从shell脚本传递到Java

时间:2010-10-22 08:25:51

标签: bash

如果我将任意数量的参数传递给内部调用Java程序的shell脚本,那么如何将第二个参数传递给Java程序,除了第一个?

./ my_script.sh a b c d ....

#my_script.sh
...
java MyApp b c d ...

2 个答案:

答案 0 :(得分:73)

首先使用shift来“消耗”第一个参数,然后传递"$@",即剩下的参数列表:

#my_script.sh
...
shift
java MyApp "$@"

答案 1 :(得分:38)

您可以在不使用“shift”的情况下向前传递第二个参数。

set -- 1 2 3 4 5

echo "${@:0}"
echo "${@:1}"
echo "${@:2}"   # here