Oi mop,

boa idéia de usar uma variável. Resolve 99% dos casos

quanto à "necessidade incomun", essa é uma maneira elegante de não ter a 
linha do próprio grep aparecendo na resposta de $(ps aux|grep [k]ate) 
que é tradicional...

Já tive alguns problemas de ambientes concorrentes. Na verdade essa é a 
primeira dúvida de uma série, para fazer um script iterativo... mas vou 
colocar isso em outra mensagem.

Alain
PS: outro exemplo parecido: "ls > dir.txt", o dir.txt aparece na lista...

mop escreveu:
> Vejo o pipe como um cano hidráulico.
> Ou a substância passa por ele e vai para algum lugar ou se perde.
> 
> Eu só vejo duas opções de armazenamento práticas, 
> disco ou memória (shell/buffer).
> Como o primeiro foi rejeitado de imediato, resta:
> 
> PS=`ps aux`;echo "$PS"|grep kate
> 
> Gosto de entender as necessidades incomuns.
> Essa seria uma delas. ;)
> 
> ps aux|grep [k]ate # "chutando", acho que é isto o que precisaria
> 
> 
> ------------------------------------------
>> From: "Alain M."
>>
>> Quando eu faço um pipe, os dois comando abrem juntos (ou quase), exemplo:
>>
>> $ ps aux | grep kate
>> [...] kate [kdeinit]
>> [...] grep --color kate
>>
>> Pergunta: existe uma maneira prática para fazer o mesmo, só que um de 
>> cada vez? Explicando: executar o primeiro comando e só quando terminar 
>> passar para o segundo.
>>
>> OBS: a intenção é usar o pipe, e não usando arquivo assim:
>>
>> $ ps aux > /tmp/x ;  grep kate /tmp/x
>> [...] kate [kdeinit]
>>
>> Neste exemplo resolve, mas não é uma solução elegante nem genérica ;)
>>
>> Alain
>>

Responder a