Publicada por andersonsouza em 03/04/2007 - 16:32h:
* andersonsouza usa Slackware

Olá pessoal!

Seguinte. Criei um script para backup (logo vou posta-lo aqui) mas só consigo executa-lo no local onde foi criado.

Qual comando eu devo usar para tornar meu script executavel a partir de qualquer pasta?

Valeu
Obrigado

Anderson Souza

  
 
Resposta de brunogds em 03/04/2007 - 16:49h:
* brunogds usa Slackware
* brunogds tem conceito: nenhum voto.
 


onde trabalho criei um script q roda todos os dias de semana
as 23:00 para fazer backup de dois servidores de arquivos
agora naum sei se vai te ajudar mais eu colocaria ele dentro do diretorio

/bin

ou criaria um link simbolico para ele na pasta bin tambem

da um

man ln

para obter mais informacoes sobre o comando
espero ter ajudado

 
Resposta de tjcampos em 03/04/2007 - 16:55h:
* tjcampos usa Arch Linux
* tjcampos tem conceito: 9.5
 


Olá, para poder executar um script a partir de qualquer lugar a pasta onde está o script
precisa estar no seu path, a solução mais simples é copiar o arquivo para uma das pastas que
estão no path, você pode ver quais são digitando:

echo $PATH

Um exemplo de saída é o abaixo, com as pastas separadas por ":":
/usr/kde/3.5/bin:/usr/local/bin:/usr/bin:/bin:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/4.1.1:
/usr/i686-pc-linux-gnu/gcc-bin/4.1.1:/usr/kde/3.5/bin:/usr/qt/3/bin:/usr/games/bin:/opt/vmware/player/bin

Em resumo recomendo que vc copie seu script para "/usr/local/bin" ou algo do tipo.

Não se esqueça de dar permissão de execução para o arquivo:

chmod +x /usr/local/bin/<nome do script>

 
Resposta de malacker em 03/04/2007 - 17:23h:
* malacker usa Linux Mint
* malacker tem conceito: 8.8
 


É simples:
chmod a+x nome_do_script

Se quiser que todos tenham acesso:
chmod a=rwx nome_do_arquivo

As letras significam o seguinte:
a : all (todos)

Pode-se usar a também letra g para group (grupo) ou u para user (usuários). Desta forma você pode dizer que somente o usuário dono do arquivo poderá executá-lo, ou somente o grupo dono do arquivo poderá executá-lo, etc. No exemplo acima coloquei todos.

= (sinal de igualdade) - Sobrepõe as regras atuais sobre as regras anteriores.
Pode-se usar também o sinal + (adição) para apenas adicionar uma regra de permissão ao arquivo. Esta regra não apaga as demais permissões.
Da mesma maneira pode-se usar o sinal - (subtração) para retirar uma permissão do arquivo.

r read (leitura) Dá permissão de leitura ao arquivo.
w write (gravação) Dá permissão de gravação sobre o arquivo.
x execute (execução) Dá permissão de execução sobre o arquivo.

Exemplo 1:
chmod a=rwx nome_do_arquivo

A regra acima diz que todos [a] os usuários poderão ler [r], modificar
[w], e executar [x] o arquivo. E ainda diz que estas regras devem substituir
[=] todas as anteriores.

Exemplo 2:

chmod a+x nome_do_arquivo

A regra acima diz que todos [a] poderão executar este arquivo, mas não diz nada a respeito de leitura ou gravação. Esta regra está apenas adicionando [+] a regra ao arquivo, portanto preservando as regras aplicadas originalmente no arquivo.

Obs: Para ver as permissões do arquivo digite ls -l

 
Resposta de ls_junior em 04/04/2007 - 07:58h:
* ls_junior usa Debian
* ls_junior tem conceito: 9.0
 


Um bom local para colocar os scrips de um usuário é no diretório bin, dentro do home do usuário. Geralmente este diretório é incluído no PATH.

root@rock:~# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11:/opt/java/jdk/bin:/opt/java/tomcat/bin:/opt/java/ant/bin:/opt/java/maven/bin:/bin:/root/bin

Veja que no final tem o /root/bin, que é o diretório bin do root.


junior@rock:~$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:/opt/java/jdk/bin:/opt/java/tomcat/bin:/opt/java/ant/bin:/opt/java/maven/bin:/bin

Aqui não tem o /home/junior/bin. Então vamos criar este diretório.

junior@rock:~$ mkdir /home/junior/bin
junior@rock:~$ bash
junior@rock:~$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:/opt/java/jdk/bin:/opt/java/tomcat/bin:/opt/java/ant/bin:/opt/java/maven/bin:/bin:/home/junior/bin

Depois de criar o diretório, ele estará no PATH do usuário.



  


ATENÇÃO: Antes de contribuir com uma resposta, leia o artigo Qualidade de respostas e certifique-se de que esteja realmente contribuindo com a comunidade. Muitas vezes o ímpeto de contribuir nos leva a atrapalhar ao invés de ajudar.

Contribuir com resposta



CAPTCHA
[ Recarregar imagem ]

Digite o código acima:

  
* Nota: só é possível enviar respostas usuário que possui conta e esteja logado com ela, caso contrário sua mensagem será perdida.



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts