Dificuldades em usar a variável BASH e IF condicional combinada

0

Alguém poderia me ajudar?

for k in {1..10001}
do
if [ -d "$k" ]
    then
        cd $k/
        testfile="grep Have aims.out | cut -c11-14"
        cd ..
fi
if [[ "$testfile" == "Have" ]]  
    then
        mv $k $k_OK
fi
done

A parte em que deve alterar o nome dos diretórios não funciona. Eu acho que estou usando a variável testfile incorretamente.

    
por muru 08.02.2016 / 11:48

1 resposta

3

O valor do seu $testfile é grep Have aims.out | cut -c11-14 , o que definitivamente NÃO é igual a Have . É por isso que você não está inscrevendo o segundo if -block.
Se você deseja executar a instrução grep e atribuir seu resultado à variável, é necessário substituir as cotações por backticks:

testfile='grep Have aims.out | cut -c11-14'
    
por 08.02.2016 / 12:04