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

[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 



reply via email to

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