Repetindo a iteração do loop atual se alguma condição for satisfeita (bash)

1

Eu estou escrevendo um script que pega arquivos e diretórios como argumentos.

Irá percorrer seus argumentos e renomear o argumento atual se alguma condição for atendida. Quando isso acontece, também quero repetir a iteração do loop atual.

Posso fazer isso sem recorrer ao estilo c para loops?

    
por Arthur 12.05.2016 / 17:52

2 respostas

2

Use while em vez de if ao verificar a "alguma condição".

for file in "$@" ; do
    while [[ $file ... ]] ; do
        mv "$file" ...
    done
done
    
por 12.05.2016 / 18:06
0
for FILE in <Your_Path>
do
if [ -f $args ]; then
    if [ <check_your_condition_here> ]; then
    mv $args $args_renamed
    fi
elif [ -d $args ]; then
    if [ <check_your_condition_here> ]; then
    mv $args $args_renamed
    fi
fi
done

Basta definir os sinalizadores para repetir o loop para essa iteração, que precisa ser dinâmica considerando os valores de tempo de execução. ITHTH

    
por 12.05.2016 / 18:03