<Anterior | Conteúdo | Próxima>
Encontrando os subscritos usados por uma matriz
As bater permite que os arrays contenham “lacunas” na atribuição de subscritos, às vezes é útil determinar quais elementos realmente existem. Isso pode ser feito com uma expansão de parâmetro usando os seguintes formulários:
$ {!ordem[*]}
$ {!ordem[@]}
onde ordem é o nome de uma variável de array. Como as outras expansões que usam * e @, @ a forma entre aspas é a mais útil, pois se expande em palavras diferentes:
[me @ linuxbox ~] $ foo = ([2] = a [4] = b [6] = c)
[me @ linuxbox ~] $ para i em "$ {foo [@]}"; faça echo $ i; feito
abc
[me @ linuxbox ~] $ para i em "$ {! foo [@]}"; faça echo $ i; feito
2
4
6
[me @ linuxbox ~] $ foo = ([2] = a [4] = b [6] = c)
[me @ linuxbox ~] $ para i em "$ {foo [@]}"; faça echo $ i; feito
abc
[me @ linuxbox ~] $ para i em "$ {! foo [@]}"; faça echo $ i; feito
2
4
6