Fala Vini, ta sumido heim!? O que acontece é que aprimeira coisa que o Shell faz é resolver os redirecionamento e em seguida a substituição de variáveis. Então qdo ele procurava os redir, o pipe ainda não existia, aparecendo somente na fase de subs. de variáveis.
Temos então que dar 2 passadas na linha. Na primeira passada, a linha é toda resolvida e na segunda é executada. Para fazer estas 2 passadas use o cmd eval. eval cat /etc/postfix/recipients $exclude Em tempo: vc me deu uma força qdo fiz a minha HP. Agora estou reestruturando-a e precisando de ajuda novamente. Vc não poderia dar uma mãozinha? Abração, Julio :wq 2007/1/17, Vini <[EMAIL PROTECTED]>: > > Pessoal, > > estou tentando executar o script abaixo mais ele ta dando erro.... > > #!/bin/bash > > for i in `cat /etc/postfix/exclude.list` > do > if [ $i <> "OK" ] > then > exclude="$exclude | grep -v $i" > fi > done > > cat /etc/postfix/recipients $exclude > ### FIM #### > > exclude.list : > > teste1 > > recipients: > > teste OK > teste1 OK > teste2 OK > teste3 OK > > se eu der um echo na ultima linha (echo "cat /etc/postfix/recipients > $exclude") e executar a saida dele funciona, mais se eu tentar executar o > script e ele retorna a seguinte mensagem de erro: > > teste OK > teste1 OK > teste2 OK > teste3 OK > cat: |: Arquivo ou diretório não encontrado > cat: grep: Arquivo ou diretório não encontrado > teste1 > > Alguem tem idéia do que pode ser? > > -- > Atenciosamente, > Vinicius. > > [As partes desta mensagem que não continham texto foram removidas] > > > [As partes desta mensagem que não continham texto foram removidas]
