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 nullglobdoit ê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 bashavec
shopt -s nullglob
ou zshavec
setopt nullglob
unsetoptet 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
TESTvariable comme une chaîne incluant *et non développée.
*.