/*
#!/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
[EMAIL PROTECTED]
------------------------
---------------------------------------------------------------------
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