Você pode acessar os índices da matriz usando ${!array[@]}
e o comprimento da matriz usando ${#array[@]}
, por exemplo. :
#!/bin/bash
array=( item1 item2 item3 )
for index in ${!array[@]}; do
echo $index/${#array[@]}
done
Observe que, como as matrizes bash são zero indexadas , você realmente obterá:
0/3
1/3
2/3
Se você quiser que a contagem seja executada a partir de 1, poderá substituir $index
por $((index+1))
. Se você quiser os valores , bem como os índices, você pode usar "${array[index]}"
, por exemplo,
#!/bin/bash
array=( item1 item2 item3 )
for index in ${!array[@]}; do
echo $((index+1))/${#array[@]} = "${array[index]}"
done
dando
1/3 = item1
2/3 = item2
3/3 = item3