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

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

Re: [shell-script] Funções


From: Julio C. Neves
Subject: Re: [shell-script] Funções
Date: Tue, 23 Jan 2007 18:26:02 -0200

Epa Wagner,
acho que vc se enganou um pouquinho qdo disse: "se sua função retorna algum
valor para
o programa que a chamou terá que exportá-la para que seja visível pelo
script que a chamou.".

O Tiago disse: " Sim, quem faz isso é o comando source ou '.' ". Não sei se
entendi o que ele quis dizer e talvez diga a mesma coisa com outras
palavras.

Veja o script1.sh e o script2.sh, a seguir:

$ cat script1.sh
#!/bin/sh
a=5
b=9
. ./script2.sh
echo $a:$b

$ cat script2.sh
#!/bin/sh
a="letra a"
b="letra b"

Ou seja, o script1.sh cria 2 variáveis e chama o script2.sh com o cmd source
(.) e depois imprime estas variáveis. O script2.sh somente altera o valor
destas variáveis.

Qdo executamos o script1.sh veja o que acontece:

$ ./script1.sh
letra a:letra b

Isto é o script2.sh alterou as variáveis, ninguém exportou nenhuma variável
e o script1.sh viu as variáveis alteradas. Ou seja, o cmd source ou . é
usado *justamente* para não fazer um fork do shell instanciando-o.

Aqui tem tudo, em português, sobre o cmd
souce<http://twiki.softwarelivre.org/bin/view/TWikiBar/TWikiBarPapo008#O_comando_source>

Abração,
Julio
:wq



Em 23/01/07, Wagner Brasileiro Cardoso <address@hidden>
escreveu:
>
>   Não esquecendo que o comando source vai rodar uma instância separada do
> bash
> ou do seu interpretador de comandos e se sua função retorna algum valor
> para
> o programa que a chamou terá que exportá-la para que seja visível pelo
> script que a chamou.
>
> Um abraço,
>
> Wagner Brasileiro
>
> -----Mensagem original-----
> De: address@hidden <shell-script%40yahoogrupos.com.br>
> [mailto:address@hidden<shell-script%40yahoogrupos.com.br>]Em
> nome de Tiago Barcellos Peczenyj
> Enviada em: terça-feira, 23 de janeiro de 2007 14:29
> Para: address@hidden <shell-script%40yahoogrupos.com.br>
> Assunto: Re: [shell-script] Funções
>
> Sim, quem faz isso é o comando source ou '.'
>
> #!/bin/bash
> . arquivo_com_funcoes.sh
> ...
>
> []´s Tiago
>
> On 1/23/07, Diogo Júnior <address@hidden<diogojunior2002%40yahoo.com.br>>
> wrote:
> >
> > Olá pessoal!
> >
> > Gostaria de saber se eu posso criar um arquivo contendo algumas funções
> > feitas por mim, e depois importar esse arquivo em futuros scripts que eu
> > venha a fazer?
> > Eu já faço isso com python, mas gostaria de poder fazer também com shell
> > script.
> >
> > Desde já agradeço.
> >
> > Diogo Bonfim Pereira Junior
> > Graduando em Ciências da Computação
> > __________________________________________________
> > Fale com seus amigos de graça com o novo Yahoo! Messenger
> > http://br.messenger.yahoo.com/
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
> --
> Tiago B Peczenyj
> Linux User #405772
>
> # cd /pub
> # more beer
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>


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



reply via email to

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