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

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

Re: [shell-script] logica


From: Felipe Kellermann
Subject: Re: [shell-script] logica
Date: Wed, 2 Jun 2004 13:33:13 -0300 (BRT)

On Wed, 2 Jun 2004 11:08am  -0300, opa wrote:

> O Felipe me lembrou que o comportamento, às vezes inesperado, do 
> echo quando o parâmetro não recebe aspas ou apóstrofos, pode aqui 
> ser aplicado.

Não é exatamente inesperado.  Há um padrão.
Por exemplo, nós temos `$*' e `$@' que sem `"' não fazem diferença.


> Inclusive experimentei, não sabia, o tr pode fazer substituições e 
> limitar a um o número de bytes adjacentes idênticos, simultaneamente. 
> Ou seja, meu comentário anterior, com um "tr -s" adicional, esqueçam, o 
> tr pode fazer tudo  numa única chamada:

Na verdade eu queria ter comentado sobre isso na mensagem, mas esqueci.


> $ echo $((2++++++++2))
> 4
> 
> $ echo $((2++++++++2+))
> bash: 2++++++++2+: syntax error: operand expected (error token is "+")
> 
> Mas como isto é shell, outro shell pode ter comportamento distinto.

Essa opção é exclusivamente uma "feature" da bash.  Percebe que não são 
duas referências (lvalue) e tolera essa sintaxe -- qualquer outro shell 
vai tentar fazer a interpretação de `++' nesse caso.  E como não é uma 
referência (é um rvalue), vai acusar um erro de sintaxe.

-- 
Felipe Kellermann


reply via email to

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