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 <[EMAIL PROTECTED]> 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: [email protected] <shell-script%40yahoogrupos.com.br> > [mailto:[email protected]<shell-script%40yahoogrupos.com.br>]Em > nome de Tiago Barcellos Peczenyj > Enviada em: terça-feira, 23 de janeiro de 2007 14:29 > Para: [email protected] <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 <[EMAIL PROTECTED]<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]
