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

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

Re: [shell-script] To certo ou To errado !!!


From: Franklin Anderson de Oliveira Souza
Subject: Re: [shell-script] To certo ou To errado !!!
Date: Mon, 19 Dec 2005 11:09:19 -0200

Mas pelo fato de a variavel $var ser da funcao index e ser  UMA
VARIAVEL LOCAL nao deveria existir apenas no contexto da funcao index
e apenas ?

quando passado pra uma outra funcao nao  deveria  passar a variavel, o
"echo" nao deveria printar na tela, ou seja, nada apareceria !

Em 19/12/05, MrBiTs<address@hidden> escreveu:
> /*
> #!/bin/bash
>
> function maneiro
> {
>         echo "$1"
> }
>
> function index
> {
>         local var="Olha que trem doido"
>         maneiro "$var"
> }
>
> index
>
>
> olha soh que doido, ainda continua listando o conteudo da variavel $var ...
> */
>
> E não era para isso acontecer ? Até onde ví em sua lógica, é isso que você
> manda o script fazer.
> Vamos analisar o script:
>
> 1 - Definimos a funcao "maneiro"
> 2 - Definimos a funcao "index"
> 3 - Chamamos a funcao "index"
> 4 - Na funcao index, definimos uma variavel local chamada var, com valor
> "Olha que trem doido"
> 5 - Em seguida, a funcao index chama a funcao maneiro, passando como
> parâmetro a variável local var
> 6 - A funcao maneiro faz um echo em seu parametro, que é o conteúdo da
> variavel local var definida na funcao index.
>
> É bastante óbvio para mim que ele continue "listando o conteúdo da variável
> $var"
>
> Agora, vamos modificar um pouco o script:
>
> #!/bin/bash
>
> function maneiro
> {
>         echo "$var"
> }
>
> function index
> {
>         local var="Olha que trem doido"
>         maneiro
> }
>
> index
>
> O resultado será Olha que trem doido, já que a funçao "maneiro" foi chamada
> no mesmo contexto ( sub-shell ) da definicao da variável local $var, sendo
> então seu conteúdo preservado e passado para a funcao "maneiro".
>
> Agora, se o script for assim:
>
> #!/bin/bash
>
> function maneiro
> {
>         echo "$var"
> }
>
> function index
> {
>         local var="Olha que trem doido"
> }
>
> index
> maneiro
>
> Ele nao retornará nada, já que maneiro é executada em outro contexto.
>
> Nada doido aí. Basta apenas ter o entendimento de como o SO e shell
> funcionam.
>
> ------
> GPG Public Key
> http://keyserver.veridis.com:11371/export?id=-6037232142263389818
>          \\|||//
>          (.) (.)
> ----ooOO--( )--OOoo-----
>       MrBiTs
> http://www.mrbits.com.br
>   address@hidden
> ------------------------
>
>
>
> ---------------------------------------------------------------------
> 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.listas-discussao.cjb.net
> ---------------------------------------------------------------------
>
> Links do Yahoo! Grupos
>
>
>
>
>
>
>
>


reply via email to

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