Como faço para um script fazer isso? [RESOLVIDO]

1. Como faço para um script fazer isso? [RESOLVIDO]

Raul Lopes S. Grangeiro
raulgrangeiro

(usa Fedora)

Enviado em 31/07/2010 - 12:54h

Oi gente, estou um problema, já tentei dar uma pesquisada, mas não encontrei a solução. É o seguinte: estou aprendendo a criar scripts, e é muito interessante, mas estou aqui tentando fazer alguns comandos com vários scripts e tudo mais, mas um dos scripts serve para executar os outros, mas eu só consigo fazer ele funcionar do diretório onde eu criei, ou seja da pasta onde eu mandei ele ser executado, e não de todas as pastas para onde eu o mover. Esse é o script:

#!/bin/sh
sudo /home/raul/"Área de Trabalho"/Meu/"Criar pasta de backup"
sudo /home/raul/"Área de Trabalho"/Meu/"Área de Trabalho"
sudo /home/raul/"Área de Trabalho"/Meu/Documentos
sudo /home/raul/"Área de Trabalho"/Meu/Download
sudo /home/raul/"Área de Trabalho"/Meu/Imagens
sudo /home/raul/"Área de Trabalho"/Meu/Modelos
sudo /home/raul/"Área de Trabalho"/Meu/Música
sudo /home/raul/"Área de Trabalho"/Meu/Público
sudo /home/raul/"Área de Trabalho"/Meu/Vídeos

Vou explicar melhor: os outros scripts já estão criados e funcionando perfeitamente, mas eu queria poder copiar essa pasta dos scripts (inclui o script acima) para todos os lugares e ele funcionar perfeitamente, e não de um único diretório. Seria possível? Isso que estou criando é uma ferramenta de Backup para Ubuntu, e preciso que funcione de onde estiver: pendrives, pasta home, Download, Imagens, Área de Trabalho e etc.

Podem me ajudar por favor?


  


2. Re: Como faço para um script fazer isso? [RESOLVIDO]

Osama Jr.
/bin/laden

(usa Void Linux)

Enviado em 31/07/2010 - 17:43h

Tem certeza de que isso ai em cima é um script? Pelo que vejo ele não faz absolutamente nada!

sudo /home/raul/"Área de Trabalho"/Meu/"Criar pasta de backup"

"Criar pasta de backup" é o nome dum script?


3. Re: Como faço para um script fazer isso? [RESOLVIDO]

Raul Lopes S. Grangeiro
raulgrangeiro

(usa Fedora)

Enviado em 31/07/2010 - 22:16h

Amigo, esse script é só para executar outros, mas respondendo a sua pergunta: é sim. Lembrando que ele simplesmente executa outros que estão na mesma pasta que ele, seria possível, independente da pasta em que esteja, ele executar os outros scripts?


4. Adicione ao PATH

Júlio Hoffimann Mendes
julio_hoffimann

(usa Ubuntu)

Enviado em 31/07/2010 - 23:35h

Oi Raul,

Para que seus scripts fiquem visíveis de qualquer diretório é preciso informar o caminho aos interpretadores de comando. Isso é feito através da variável PATH.

Na sua pasta de usuário adicione a seguinte linha no final do arquivo .profile:

PATH=$PATH:/caminho/absoluto/do/diretorio/de/scripts

Abraço!


5. Re: Como faço para um script fazer isso? [RESOLVIDO]

Tadzio Buscácio
Tadzio

(usa Linux Mint)

Enviado em 31/07/2010 - 23:46h

julio, pelo o que eu entendi ele que exatamente o contrário rsrs


se eu entendi corretamente basta usar caminho relativo.
exemplo:

#!/bin/sh
sudo /home/raul/"Área de Trabalho"/Meu/"Criar pasta de backup"
sudo /home/raul/"Área de Trabalho"/Meu/"Área de Trabalho"

vira

!/bin/sh
sudo ./"Criar pasta de backup"
sudo ./"Área de Trabalho"

movendo todos os scripts na mesma pasta, usar este comando executaria doros eles.
claro, se eles tiverem permissão para tal...

aliás você poderia trabalhar melhor esses nomes de arquivo hein? e que tal uma extensão '.sh'? não dói tanto assim...


6. Re: Como faço para um script fazer isso? [RESOLVIDO]

Raul Lopes S. Grangeiro
raulgrangeiro

(usa Fedora)

Enviado em 01/08/2010 - 13:58h

Vou testar aqui, e digo o resultado. Mas uma pergunta, usar a extesnão .sh faz exatamente o que? Faço estas perguntas porque não entendo quase nada de programação, agora que estou começando a usar scripts.

Muito obrigado gente! Vou retornar.


7. Serve para identificação

Júlio Hoffimann Mendes
julio_hoffimann

(usa Ubuntu)

Enviado em 01/08/2010 - 14:10h

Oi Raul,

A extensão serve para que você, usuário, identifique os arquivos como Shell Scripts, nada muito além disso.

Como você irá deixar seus scripts visíveis de qualquer lugar, não há muita necessidade de manter a extensão. Afinal você sabe que são scripts quando os está executando.

Abraço!


8. Problema resolvido?

Júlio Hoffimann Mendes
julio_hoffimann

(usa Ubuntu)

Enviado em 07/10/2010 - 07:59h

Oi Raul,

Acredito que você tenha tirado suas dúvidas, por favor marque como resolvido e se possível escolha a melhor resposta para facilitar a vida de outros membros.

Abraço!


9. Re: Como faço para um script fazer isso? [RESOLVIDO]

Ricardo Cardoso
ricardo cardoso

(usa Debian)

Enviado em 07/10/2010 - 08:59h

Faz assim: pega o seu script e coloca ele dentro do diretório /etc/init.d, depois vá ao terminal como root e faça update-rc.d <nome do seu script> defaults


10. Re: Como faço para um script fazer isso? [RESOLVIDO]

Raul Lopes S. Grangeiro
raulgrangeiro

(usa Fedora)

Enviado em 07/10/2010 - 12:02h

Desculpa aí cara, é que faz tempo que criei o tópico, e nem lembrava mais!

Vlw gente!!!