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

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

Re: Script entrar no diretório - Será que fiquei louco????


From: heltonbiker
Subject: Re: Script entrar no diretório - Será que fiquei louco????
Date: Wed, 14 Apr 2010 12:44:57 -0000
User-agent: eGroups-EW/0.82

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
[root@gimli /]#
[root@gimli /]# pwd
/
[root@gimli /]# ./teste.sh
1
2
[root@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 address@hidden, André Déo <andredeo@...> 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:
> 
> [root@gimli /]# cat teste.sh
> #!/bin/bash
> 
> echo 1
> cd /root
> echo 2
> [root@gimli /]#
> [root@gimli /]# pwd
> /
> [root@gimli /]# ./teste.sh
> 1
> 2
> [root@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 <waldirio@...>
> 
> >   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 <andredeo@...>
> >
> > >
> > >
> > > 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:
> > > [root@localhost /]# pwd
> > > /
> > >
> > > [root@localhost /]# cat entra.sh
> > > #!/bin/bash
> > > cd /root
> > > [root@localhost /]# pwd
> > > /
> > > ESTOU LOUCO?????
> > >
> > > Abracos,
> > > Déo
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > >
> > >
> >
> >
> >
> > --
> > ______________
> > Atenciosamente
> > Waldirio
> > msn: waldirio@...
> > 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: 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]