shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] pipe não concorrente


From: Alain M.
Subject: Re: [shell-script] pipe não concorrente
Date: Wed, 07 May 2008 17:31:54 -0300
User-agent: Thunderbird 2.0.0.6 (X11/20070728)

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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]