获取除第一个之外的bash数组的所有元素

时间:2011-06-09 02:22:46

标签: arrays bash

我有一个索引的bash数组,我想使用像“$ {a [@]}”之类的表达式,除非我希望它不包含[0]。我能想到的最好的是:

j=0
for i in "${a[@]}"
do
    b[j]=${a[++j]}
done

然后使用“$ {b [@]}”。还有更好的方法吗?

2 个答案:

答案 0 :(得分:39)

$ a=(1 2 3)
$ echo "${a[@]:1}"
2 3

答案 1 :(得分:1)

如果是标准数组,请使用:

"${a[@]:1}"

如果要使用参数:

"${@:2}"

请注意不同的语法,$@是1索引的(因为$ 0是脚本的名称)。