Expansão do shell glob após a substituição da variável de loop

1

Como o exemplo a seguir pode ser alterado para que a expansão glob ocorra após a substituição de variáveis de loop?

for i in a b c
    do echo $i/*.txt
done

ATUALIZAÇÃO: Isso normalmente funciona, mas set -f foi feito anteriormente no script que estou vendo.

    
por Lotney 02.12.2014 / 18:03

1 resposta

1

Se você está escrevendo bash code, o uso criterioso de "set -f" para desativar o globbing e "set + f" para ativar o globbing pode fazer o que você deseja:

#!/bin/bash

for i in a b c
do
    set -f
    Z=$i/*.txt
    echo $Z
    set +f
    echo
    echo "Does it expand?"
    echo $Z
done
    
por 02.12.2014 / 18:21