Réponses:
Laissez-le simplement se développer à l'intérieur du côté droit d'une déclaration de tableau:
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
Notez que l'option shell nullglob
doit être définie.
Il n'est pas défini par défaut.
Il empêche une erreur dans le cas où le glob (ou l'un des globs multiples) ne correspond à aucun nom.
Installez-le bash
avec
shopt -s nullglob
ou zsh
avec
setopt nullglob
unsetopt
et le même paramètre que celui utilisé pour setopt
.
Pas besoin de trop compliquer les choses:
echo your/stuff*
TEST=$(echo your/stuff*) && eval \"$TEST\"
affichera:your/stuff*: No such file or directory
TEST
variable comme une chaîne incluant *
et non développée.
*
.