如何按索引访问$ *数组(或$ @)的元素?
例如,让我们以3元素数组和index = 1为例:

a=( a b c )
set -- a b c
echo ${a[1]}
b               # good
echo ${*[1]}
bash: ... bad substitution

echo ${@[1]}
bash: ... bad substitution

最佳答案



您可以分配给另一个数组并玩得开心

function test
{
    declare -a v=("$@")
    for a in "${v[@]}"; do echo "'$a'"; done
}

$ test aap noot mies
'aap'
'noot'
'mies'

$ test aap noot mies\ broer
'aap'
'noot'
'mies broer'

显然,这使您可以按索引${v[7]}进行访问,因为它只是常规数组

关于bash - 按索引访问$ *(或$ @)的元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5874978/

10-11 15:40