Meu script bash sempre executa a quebra

0

Estou fazendo um script para renomear arquivos em uma pasta. O novo nome para os arquivos está em um arquivo de configuração. Eu tenho que ter certeza que o arquivo que eu quero renomear corresponde ao atual no arquivo de configuração. Meu código é esse:

#!/bin/bash

. conf.cfg

number_of_files='echo "$filename"|wc -l'

#echo "$number_of_files"
existing_files='find iputemp/ '
echo "$existing_files"

iterations='echo "$existing_files"|wc -l'

#echo "$filename"

for x in 'seq 1 $iterations'; do
        current_file_name='echo "$filename"|sed -n "$x"p'
        echo "$current_file_name"
        echo "$x"
        for z in 'seq 1 $number_of_files'; do
                this_file=$(echo "$existing_files"|sed -n ${z}p|cut -d '/' -f2)
                echo "$z"
                if [[ ${current_file_name} == *${this_file}* ]]; then
                        echo "EXIST"
                        mv iputemp/${tile} ${current_file_name}
                        sleep 0.5
                        break
                fi
        done
done

Meu problema é que o segundo loop sempre executa o intervalo e eu não sei porque, alguém pode me ajudar por favor?

    
por Wombat 18.03.2016 / 09:47

1 resposta

0

Você precisa colocar sua declaração de teste entre aspas:

if [[ "${current_file_name}" == "*${this_file}*" ]];
    
por 18.03.2016 / 09:54