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

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

Re: [shell-script] O que é "Shell Script"?


From: Eliphas Levy Theodoro
Subject: Re: [shell-script] O que é "Shell Script"?
Date: Thu, 10 Feb 2005 04:41:04 -0200 (BRST)

MrBiTs, @ 09/02/05 - 19:51:

>> $ A=500.175
>> $ awk "BEGIN { print ($A > 500) ? \"true\" : \"false\" }"
>> true
>> 
>> Alguém esqueceu o BEGIN ;)
> A-HÁ ! :)
> 
>> Isso é simplesmente um problema de sintaxe. O awk não aceita aspas
>> simples como delimitador de strings, e o shell só faz substituição de
>> variáveis na linha de comando se não estiverem dentro de aspas
>> simples.
> 
> Sim Senhor. Interpolacao de variaveis. Mesmo em scripts em perl
> temos esse conceito. Se vc define uma variavel $var num script e
> tenta fazer um print '$var', o que vc vai efetivamente imprimir é
> $var e nao o valor de $var.
> 
> E shell tbm nao substitui $var se estiver em aspas simples,
> mesmo num script completo ou fora da linha de comando.

Não sei se é pela hora que eu estou lendo, mas eu acabei não entendendo se 
você falou exatamente o mesmo que eu ou o contrário... :)

Com aspas simples, nenhum perl ou awk script vai receber o conteúdo da
variável. Esse foi o tema da conversa, não? Integração?


> Quaisquer que sejam as aspas, sem o BEGIN, o awk continuaria nao
> funcionando.

Não entendi o ponto. Claro que não funciona, porque sem o BEGIN o awk
vai esperar algo no STDIN, pois você falou pra ele fazer exatamente
isso: "quando aparecer algo aí, você executa isso aqui". O BEGIN diz
justamente o que você quer fazer, "execute isso *agora*".

E se você não fechar as aspas, ou se não botar um fecha-chaves no
perl, também não funciona. Isso é questão de *sintaxe*, não de
integração com o shell.

Falous,
-- 
Eliphas

[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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