Apenas deixe expandir dentro do lado direito de uma declaração de matriz:
list=(../smth*/) # grab the list
echo "${#list[@]}" # print array length
echo "${list[@]}" # print array elements
for file in "${list[@]}"; do echo "$file"; done # loop over the array
Observe que a opção nullglob
do shell precisa ser definida.
Não é definida por padrão.
Isso evita um erro no caso de o glob (ou um dos vários globs) não corresponder a nenhum nome.
Defina em bash
com
shopt -s nullglob
ou em zsh
com
setopt nullglob