[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RES: [shell-script] dúvida simples
From: |
Julio Cezar Neves - DATAPREVRJ |
Subject: |
RES: [shell-script] dúvida simples |
Date: |
Mon, 19 May 2003 11:38:58 -0300 |
Olá pessoal,
Olivé e Dynamite deram suas opiniões e gostaria de contribuir tb. Acho que a
grande diferença entre as 2 opções é a portabilidade. Qdo vc usa crases
(acento grave), o seu script é portável para qq ambiente, ao passo que a
outra construção não.
Todos os shells que se tornaram muito populares, o fizeram por sua
compatibilidade com o bourne-shell, a prova disso é o csh, que apesar de
*excelente*, tem muito poucos adeptos. Assim sendo, não creio que a
implementação das crases possa ser considerada obsoleta pois este é o único
tipo de construção compatível com o sh.
Olivé, qdo preciso de aninhar crases e a portabilidade é essencial (aqui
trabalhamos com diversos sabores *n?x), faço usando uma contrabarra antes
das crases, da seguinte maneira:
Col=`expr \( \`tput cols\` - "$Len" ")" / 2`
Nesta fragmento de script, eu queria calcular a coluna (Col) para escrever
no centro da tela, uma msg cujo tamanho estava dentro da variável $Len. Note
que tb por problema de portabilidade usei o expr e não $((...))
[ ]s,
Julio Cezar Neves
-Eu Apoio o Software Livre-
-I Support Free Software-
* +55 21 2528-7070 / 9853-4044
*address@hidden
> -----Mensagem original-----
> De: Fábio Olivé Leite [mailto:address@hidden]
> Enviada em: segunda-feira, 19 de maio de 2003 09:37
> Para: address@hidden
> Assunto: Re: [shell-script] dúvida simples
>
>
> Olá!
>
> Em Dom 18 Mai 2003 23:05, DyNaMiTe escreveu:
> > é a mesma coisa escrita de maneira diferente
> > > qual a diferença entre `comando` e $(comando) ?
>
> Não exatamente a mesma coisa. Com $() é possível aninhar várias
> expansões de comandos, que é impossível com o ``. Ou seja:
>
> var=$(comando1 $(comando2))
>
> ... é possível, enquanto que:
>
> var=`comando1 `comando2``
>
> ... não resultaria no esperado. Sem falar que em geral os shells
> definem `` como sendo obsoleto e que não deve mais ser usado
> ("deprecated").
>
> Abraços!
>
> --
> Boycott the USofA, starting today.
>
>
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de
> programação, como perl, C etc. Quem insistir em não seguir
> esta regra será moderado sem prévio aviso.
> ---------------------------------------------------------------------
> Sair da lista: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em
http://www.listasdiscussao.cjb.net
---------------------------------------------------------------------
Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
http://br.yahoo.com/info/utos.html
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- RES: [shell-script] dúvida simples,
Julio Cezar Neves - DATAPREVRJ <=