Não, vc cria as variaveis no shell corrente.
Para criar variaveis locais vc usa a palavra 'local'

man bash:

local [option] [name[=value] ...]
       For  each  argument, a local variable named name is created, and
       assigned value.  The option can be any of the  options  accepted
       by declare.  When local is used within a function, it causes the
       variable name to have a visible scope restricted to  that  func-
       tion and its children.  With no operands, local writes a list of
       local variables to the standard output.  It is an error  to  use
       local when not within a function.  The return status is 0 unless
       local is used outside a function, an invalid name  is  supplied,
       or name is a readonly variable.

Em 17/12/05, Franklin Anderson de Oliveira Souza <[EMAIL PROTECTED]>
escreveu:
>
>  Ae turma,  tava brincando aqui com  shell script (dia chuvoso e sem
> grana pra sair)
> e observei um comportamento que  nao me parece muito corrente !!
>
> Pelo que sei todos as variaveis declaradas dentro de uma funcao sao
> apenas locais, nao assumindo propriedades de uma variavel global,
> segue o exemplo:
> ================
> #!/bin/bash
>
> function maneiro
> {
>       echo $var
> }
>
> function index
> {
>       var="Que sinistro"
>       maneiro
> }
> index
> ================
>
> Se me lembro bem,    o argumento da variavel  $var nao deveria se
> passado a funcao "maneira", pois ela deveria existir somente dentro da
> funcao "index"
>
> Tirem essa duvida minha por favor turma !!!
>
>
>  ---------------------------------------------------------------------
> 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: [EMAIL PROTECTED]
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
>
>
>
>  *Yahoo! Grupos, um serviço oferecido por:*  PUBLICIDADE
> <http://br.rd.yahoo.com/SIG=12fpsa74u/M=386470.7632849.8508174.2369893/D=brclubs/S=2137111254:HM/Y=BR/EXP=1134863678/A=3135788/R=2/id=noscript/SIG=12c39trgo/*http://ad.br.doubleclick.net/clk;22846485;12120066;a?http://www.hoteis.com>
> ------------------------------
> *Links do Yahoo! Grupos*
>
>    - Para visitar o site do seu grupo na web, acesse:
>    http://br.groups.yahoo.com/group/shell-script/
>
>    - Para sair deste grupo, envie um e-mail para:
>    [EMAIL PROTECTED]<[EMAIL PROTECTED]>
>
>    - O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
>    Serviço do Yahoo! <http://br.yahoo.com/info/utos.html>.
>
>


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



---------------------------------------------------------------------
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: [EMAIL PROTECTED]
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a