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

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

Re:_[shell-script]_conteudo_da_linha_em_execu��o


From: moysespr
Subject: Re:_[shell-script]_conteudo_da_linha_em_execução
Date: Sun, 30 Nov 2003 17:28:28 -0800 (PST)

Detalhando mais a situação atual.

1. Hoje realmente eu uso o sed (248kB) na função F para ter a linha do script
cujo número passo como parâmetro. São muitas linhas de chamada ao longo do
script.

2. A opção com a linha de comando em variável está como outra alternativa. Deve
ser rápida, mas exige alguns caracteres delimitadores adicionais, que gostaria
de evitar.

Histórico, se possível, deverá ser impactante no sistema como o sed.

Por isso a idéia original, não ter nada além do que o bash já usa regularmente
para executar scripts.

Felipe, agradeço seu pronunciamento e, continuo na espectativa; talvez haja
algum "ovo de Colombo" nessa concha, digo shell.  :)


--- Felipe Kellermann <address@hidden> wrote:
> 
> On Sat, 29 Nov 2003 7:51am  -0800, moysespr wrote:
> 
> > Tenho uma função "F".
> > Em uma certa linha de um script tenho:
> > F $LINENO&&inet(){ #testa link internet;retorno t ping em ms
> >
> > Estou passando o número da linha $LINENO (buit-in) no ponto de chamada de
> F.
> 
>       Se não estou enganado, a bash até a versão 2.05a estava fazendo o
> contador LINENO ser relativo às funções. Agora não é mais, mas parece que
> as especificações atuais dizem que deveria ser também relativo aos locais
> das função, mas lembro que só a bash estava assim.
> 
> 
> > Já li que toda a linha é carregada pelo bash até o fim (0x0A) antes do
> incíco
> > da execução, independente do número de ";" na linha. Portanto está em
> memória.
> 
>       Já tentou habilitar histórico e ler a linha especificada? Ou então
> não poderia pegar a linha com um "sed $lp $0"? Depois de pegar ela, fazer
> substituições e eval, ou outras coisas. É mais ou menos isto?
> 
> 
> > Alguém sabe se o conteúdo dessa linha em execução pode ser acessível ao
> script
> > e como?
> 
>       Resultado, comando e novamente o resultado de x='echo fuu bar':
>       $ eval $x [$x] *$x
>       fuu bar [echo fuu bar] fuu bar
> 
> -- 
> Felipe Kellermann
> 


__________________________________
Do you Yahoo!?
Protect your identity with Yahoo! Mail AddressGuard
http://antispam.yahoo.com/whatsnewfree


reply via email to

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