Helton ajudou sim...
Um amigo me mandou um macete, mas não sei explicar porque funciona, mas funciona :-) se alguem souber explicar o pq deste macete funcionar eu agradeço: # . ./teste.sh Abraços, Déo 2010/4/14 heltonbiker <[email protected]> > > > Caro André e Colegas > > Acho que não é doideira, é que às vezes a gente se confunde mesmo :oP > > Me parece que a galera esteja certa ao dizer que o cd/alguma_pasta só > funciona enquanto a gente está dentro do script. O último exemplo que você > usou: > > > #!/bin/bash > > echo 1 > cd /root > echo 2 > [r...@gimli /]# > [r...@gimli /]# pwd > / > [r...@gimli /]# ./teste.sh > 1 > 2 > [r...@gimli /]# pwd > / > > Este exemplo na verdade até entra no /root, mas o resultado disso não é > checado enquanto o script é rodado. Fiz o seguinte teste aqui com o teste > apaga.sh, veja só: > > $ cat apaga.sh;echo ---; ./apaga.sh; echo ---; pwd > #!/bin/bash > > echo 1 > cd ~/Dropbox > pwd > echo 2 > --- > 1 > /home/helton/Dropbox > 2 > --- > /home/helton/Desktop > > Veja que, entre echo 1 e echo 2, ele realmente entrou em /Dropbox (que > aliás é um ótimo software :P), mas assim que o script termina, ele volta > para a pasta de onde o script foi rodado. > > A moral da história (na minha humilde opinião) é que, se você está dando > cd/alguma_pasta, é porque provavelmente está precisando fazer alguma coisa > dentro dessa pasta, e nesse caso provavelmente uma boa idéia é colocar todas > essas ações como mais linhas dentro do mesmo script, ao invés de rodá-las > pela linha de comando, ou então criar outro(s) script(s) e rodar um script > dentro do outro, por exemplo, deixando o script "chefe" com a parte de > navegação em estrutura de diretórios, criação de variáveis, etc. > > Espero ter ajudado > > Helton > > --- Em [email protected] <shell-script%40yahoogrupos.com.br>, > André Déo <andre...@...> escreveu > > > > > Waldirio na realidade eu queria dar um cat para mostrar o script, > > > > Mas o que acontece é que se eu executo ele, não acontece nada.... Outro > > exemplo, pra ver como a coisa tá doida: > > > > [r...@gimli /]# cat teste.sh > > #!/bin/bash > > > > echo 1 > > cd /root > > echo 2 > > [r...@gimli /]# > > [r...@gimli /]# pwd > > / > > [r...@gimli /]# ./teste.sh > > 1 > > 2 > > [r...@gimli /]# pwd > > / > > > > Está vendo??? Ele executa o echo 1, executa o echo 2, mas não reconhece o > > comando cd /root > > > > Meu ambiente é: > > CentOS release 5.4 (Final) > > bash-3.2-24.el5 > > > > Att, > > Déo > > > > > > 2010/4/14 Waldirio Manhães Pinheiro <waldi...@...> > > > > > > Amigo > > > > > > Baseado no que esta escrito, voce só deu um cat no script, tenta fazer > um > > > ./entra.sh ;) > > > > > > No de retorno. > > > > > > []'s > > > Waldirio > > > > > > 2010/4/13 André Déo <andre...@...> > > > > > > > > > > > > > > > > Pessoal Boa Noite, > > > > > > > > Estava seguindo o material do mestre Julio e me deparei com esse > exemplo: > > > > if test -d lmb > > > > then > > > > cd lmb > > > > else > > > > mkdir lmb > > > > cd lmb > > > > fi > > > > > > > > Pois bem se executo na linha de comando: > > > > if test -d "/Backup"; then cd "/Backup"; else mkdir "/Backup"; cd > > > > "/Backup"; fi > > > > Funciona!!!! Aeeee.... > > > > > > > > Mas se faço um script ridículo: > > > > [r...@localhost /]# pwd > > > > / > > > > > > > > [r...@localhost /]# cat entra.sh > > > > #!/bin/bash > > > > cd /root > > > > [r...@localhost /]# pwd > > > > / > > > > ESTOU LOUCO????? > > > > > > > > Abracos, > > > > Déo > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > > > > > > > > > > > > > > > -- > > > ______________ > > > Atenciosamente > > > Waldirio > > > msn: waldi...@... > > > > Skype: waldirio > > > Site: www.waldirio.com.br > > > Blog: blog.waldirio.com.br > > > PGP: www.waldirio.com.br/public.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]<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: [email protected] --------------------------------------------------------------------- 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 <*> 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
