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

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

Re: RES: RES: [shell-script] Quem poderia explicar!!!!!


From: Thobias Salazar Trevisan
Subject: Re: RES: RES: [shell-script] Quem poderia explicar!!!!!
Date: Mon, 14 Jul 2003 19:11:56 -0300 (BRT)

ae moyses,

On Mon, 14 Jul 2003, MoysXs Placin wrote:

> "Falow" professor, ou melhor, mestre. Para o meu gosto, show de
> resposta.

professor e mestre aqui só o julio. Ah, e o aurelio que agora 
também é professor :)

> Infelizmente
> apenas colocando "d" no início da linha não funciona em linhas
> complexas. É
> necessário colocar apóstrofo no início e no final, o que reduz a
> praticidade.

o problema não é linhas complexas, e sim o "|" pipe. exemplo 
prático:

$ cat x
#!/bin/bash

d(){
echo "Parametro = $*"
}

d echo teste | grep teste

$ ./x
Parametro = echo teste
################################

$ cat x
#!/bin/bash

d(){
echo "Parametro = $*"
}

d echo teste | grep xxxxx

$ ./x
$

o que está acontecendo é: o shell chama a função d com o seu 
parâmetro (antes do pipe), e pega a saída da função d e joga como 
entrada no que está após o pipe, no caso o grep. por isso que na 
segunda execução, colocando um grep xxxx, não foi mostrada nada 
na tela. então, quando usar pipe vai ter que colocar apóstrofo, 
senão o shell acha que são 2 comandos distintos e conecta a 
stdout com a stdin deles :(

-- 
thobias
-------
echo 9446046325380026818553633794429812592304650P | dc
-------
http://www.lcp.coppe.ufrj.br/~thobias

____________________________
|                          
| Against - HTML Mail      
| Against - MS ATTACHMENTS 
|                          
----------------------------



reply via email to

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