如何将除第一个参数外的所有参数传递给第二个bash脚本?

7
我想编写一个Bash脚本,它执行另一个Bash脚本,并且除了第一个参数外,其他所有参数都要传递进去。因此,我不能使用以下方式:
``` bash abc.sh "$@" ```
因为这样会传递第一个参数,而我不想要。那么该如何删除第一个参数呢?
1个回答

13

你可以使用shift删除第一个参数:

shift #same as: shift 1
bash abc.sh "$@"

(在bashkshzsh中,您还可以使用"${@:2}"而不修改"$@"数组,但shift将在任何POSIX shell中起作用。)


是的,似乎 dash 不喜欢那种表示法。 - user541686

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接