Como eu adiciono um diretório cheio de Scripts Bash à Variável de Caminho e executo-os de fora de seus diretórios?

0

Tendo um pequeno problema, alguém pode ser capaz de me ajudar. Criei vários scripts Bash para automatizar algumas das minhas tarefas comuns do dia a dia em minhas máquinas Snow Lepoard. Todos esses scripts residem em uma pasta DropBox que é compartilhada entre minhas máquinas.

O caminho é o mesmo em todas as máquinas: por exemplo, %código% Eu adicionei a pasta ao meu / etc / paths

Variável de caminho:

/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Users/myuser/Dropbox/Bash\ and\ Batch:/usr/local/git/bin:/usr/X11/bin

Meu problema é não conseguir executar os scripts fora do diretório deles. Todos os scripts têm permissões necessárias, por exemplo: 755

Os scripts podem ser executados no diretório:

mymachine:~ myuser$ cd Dropbox/Bash\ and\ Batch
mymachine:Bash and Batch myuser$ ./uni-update.sh
Update University Repository
At revision 246.

Mas não de fora do diretório:

mymachine:~ myuser$ ./uni-update.sh
-bash: uni-update.sh: command not found

O que estou perdendo aqui?

Obrigado antecipadamente.

    
por Jeremy Cade 20.05.2011 / 14:51

1 resposta

4

Você não deve prefixar o comando com ./ .

Isso significa "Use o uni-update.sh no diretório atual". Você faz isso para comandos que não são encontrados no caminho ou para especificar uma versão diferente ou um programa completamente diferente com o mesmo nome.

Execute-o simplesmente como uni-update.sh e você é bom.

    
por 20.05.2011 / 14:58