<Anterior | Conteúdo | Próxima>
Determinando o número de elementos do array
Usando a expansão de parâmetro, podemos determinar o número de elementos em uma matriz da mesma maneira que encontrar o comprimento de uma string. Aqui está um exemplo:
[me @ linuxbox ~] $ a [100] = foo
[me @ linuxbox ~] $ echo $ {# a [@]} # número de elementos da matriz
1
[me @ linuxbox ~] $ echo $ {# a [100]} # comprimento do elemento 100
3
[me @ linuxbox ~] $ a [100] = foo
[me @ linuxbox ~] $ echo $ {# a [@]} # número de elementos da matriz
1
[me @ linuxbox ~] $ echo $ {# a [100]} # comprimento do elemento 100
3
Nós criamos array a e atribuir a string "foo" ao elemento 100. Em seguida, usamos a expansão do parâmetro para examinar o comprimento do array, usando o @ notação. Finalmente, examinamos o comprimento do elemento 100, que contém a string “foo”. É interessante notar que embora atribuímos nossa string ao elemento 100, o bash relata apenas um elemento no array. Isso difere do comportamento de algumas outras linguagens nas quais os elementos não utilizados da matriz (elementos 0-99) seriam inicializados com valores vazios e contados. No bater, os elementos da matriz só existem se um valor foi atribuído a eles, independentemente de seu subscrito.