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

如果我将任意数量的parameter passing给一个在内部调用Java程序的shell脚本,那么除了第一个外,我怎样才能将第二个parameter passing给Java程序呢?

./my_script.sh abcd ….

#my_script.sh ... java MyApp bcd ... 

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

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

你可以通过第二个参数,而不使用“移位”。

 set -- 1 2 3 4 5 echo "${@:0}" echo "${@:1}" echo "${@:2}" # here