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

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

Re: [shell-script] Diferença entre sh x source


From: Eri Ramos Bastos
Subject: Re: [shell-script] Diferença entre sh x source
Date: Fri, 16 May 2008 19:17:58 -0300

Fala, Júlio.
Sou eu mesmo. Vou te mandar um email em pvt depois. ;)

Pegando o gancho do "sh script.sh" eu concordo 100% contigo, principalmente
depois que adotei o Bash e seus "bashismos".

Fica a dica pro Maike, que algumas distribuições apontam o sh para /bin/bash
e outras para /bin/dash e, onde eu trabalho, por exemplo, para /bin/ksh.

Então você tem que escolher:
Ou faz um script 100% POSIX _ou_ aponta o shebang (#!) pro seu shell
favorito e executa ele via ./script.sh

[]'s
Eri

2008/5/16 Julio C. Neves <address@hidden>:

> Fala Eri,
> está sumido heiiim? Por onde vc andou esse tempo todo?
>
> Aê Eri, vc deu um bom exemplo mas esquecer de citar a diferença. Eu diria
> que não há semelhança alguma, muito pelo contrário, são diametralmente
> opostos.
>
> Enquanto o source (ou .) executa o script chamado no mesmo ambiente do seu
> shell, o sh obrigatóriamente chama um sub-shell para interpretar o script.
>
> Desta forma, o script chamado por sh só verá as variáveis previamente
> exportadas e todo o ambiente gerado pelo script estará perdido tão logo
> termine a sua execução.
>
> Alias eu *jamais* uso sh. Prefiro o bom e velho chmod +x script.sh seguido
> do ./script.sh.
>
> Abração e vê se agora não some,
> Julio
> OBS: Acho que não existem 2 Eri, mas se por acaso não for o que conheço,
> peço que me desculpe pelo engano.
>
> Em 16/05/08, Eri Ramos Bastos <address@hidden> escreveu:
> >
> >   Sao coisas completamente diferentes.
> >
> > Quando voce usa "source script.sh" voce esta puxando tudo que tem dentro
> do
> > script.sh para dentro do seu script.
> >
> > Por outro lado quando voce usar "sh script.sh" voce esta executando o
> > script.sh a partir do seu script.
> >
> > Exemplo:
> >
> > $cat script.sh
> > TESTE=10
> >
> > $cat meu1.sh
> > source script.sh
> > echo $TESTE
> >
> > $./meu1.sh
> > 10
> >
> > $cat meu2.sh
> > sh script.sh
> > echo $TESTE
> >
> > $./meu2.sh
> >
> > $
> >
> > Atenciosamente,
> > Eri Ramos Bastos
> >
> > ps: desculpem a falta de acentos... estou num terminal publico sem
> > US-INTL... :-P
> >
> > 2008/5/16 maike <address@hidden <maiquelconsalter%
> 40gmail.com>
> > >:
> >
> > > Bom dia galera, estou fazendo script que chama outra tipo include, até
> ae
> > > beleza
> > > porém eu uso o source e meu colega falou para mim usar sh que é mais
> > > seguro,
> > >
> > > tem alguma diferença entre esses 2 comandos?
> > >
> > > Att,
> > > Maiquel
> > > --
> > >
> > > www.prognus.com.br
> > > .~.
> > > / v \ Seja Livre, use GNU/Linux!
> > > /( )\
> > > ^^-^^
> > >
> > >
> > > [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: address@hidden
> <shell-script-unsubscribe%40yahoogrupos.com.br>
> > > ----------------------------------------------------------
> > > Esta lista é moderada de acordo com o previsto em
> > > http://www.listas-discussao.cjb.net
> > > ----------------------------------------------------------
> > > Servidor Newsgroup da lista: news.gmane.org
> > > Grupo: gmane.org.user-groups.programming.shell.brazil
> > >
> > > Links do Yahoo! Grupos
> > >
> > >
> > >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
>
> [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: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
> Servidor Newsgroup da lista: news.gmane.org
> Grupo: gmane.org.user-groups.programming.shell.brazil
>
> Links do Yahoo! Grupos
>
>
>


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



reply via email to

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