[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Expansão das chaves em sub-shell
From: |
Flavio Junior |
Subject: |
Re: [shell-script] Expansão das chaves em sub-shell |
Date: |
Thu, 17 Jul 2008 09:39:59 -0300 |
So um detalhe que li depois que enviei a mensagem..
Se o que tu ta montando é um arquivo de 'exclude' (tar, rsync, wget)
esse formato não vai funcionar.
Ele busca por 1 PATH por linha, e no caso das chaves eles são
expandidos na mesma linha.
--
Flavio do Carmo Junior aka waKKu
2008/7/17 Flavio Junior <address@hidden>:
> Deve ter uma solução melhor, mas é que realmente no HERE DOCUMENTS eu
> não consegui fazer o shell interpretar
>
> [root@gandalf teste]# f=txt
> [root@gandalf teste]# cat >$f<<EOF
>> ../teste
>> ../teste/{abc,cba,test}
>> $(echo ../teste/{abc,cba,test})
>> EOF
> [root@gandalf teste]# cat $f
> ../teste
> ../teste/{abc,cba,test}
> ../teste/abc ../teste/cba ../teste/test
> [root@gandalf teste]#
>
> --
>
> Flávio do Carmo Júnior aka waKKu
>
> 2008/7/16 Paulo Jerônimo Neves Ribeiro <address@hidden>:
>> Olá,
>>
>> Eu preciso gerar um arquivo que será lido pelo tar e conterá uma lista
>> de arquivos a serem excluídos no backup realizado por ele.
>> Um pedaço do meu script contém algo como:
>>
>> f=~/exclude
>> cat > $f <<EOF
>> /opt/jboss/bin/*.sh
>> /opt/jboss/server/test/{tmp,work,data,log}
>> EOF
>>
>> o problema é que o tar não está expandindo a linha contendo a lista de
>> diretórios que contém as chaves
>> (/opt/jboss/server/test/{tmp,work,data,log}).
>>
>> Para verificar o problema criei, no mesmo script, um loop (de testes)
>> como para listar os diretórios lidos do arquivo:
>>
>> while read line
>> do
>> ls -l $line
>> done < "$f"
>>
>> O shell faz expansão para a primeira linha, mas não da segunda (que
>> contém as chaves).
>>
>> Alguém tem uma dica de como colocar esta expansão pra funcionar?
>>
>>
>