Eu tenho alguns scripts python em / usr / share / scripts / que eu uso frequentemente e quero poder executá-los escrevendo o nome e não o caminho completo, como eu poderia fazer isso?
echo $ PATH mostra-me:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/real/RealPlayer
Então, eu tentei escrever no terminal:
PATH="/usr/share/scripts/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/real/RealPlayer"
export
Nenhum erro mostrado e o eco $ PATH agora mostram meu novo caminho de scripts, mas quando executo scriptName recebo o comando não encontrado.
O que estou fazendo errado?
Respostas:
Defina permissões executáveis para scripts python por "chmod + x *"
Agora você tem duas opções:
/usr/local/bin
diretórioExemplo:
[mzed@node02 test]$ vim printme.py
Conteúdo do arquivo:
-
Eu espero que isso te ajude.
fonte
Ok, talvez eu seja apenas a escola mais antiga ...
Em / usr / bin, adicione scripts de shell com o cabeçalho #! / Bin / bash e sem extensão .sh. Então, nesses scripts, execute o python absolutepath.
Por que eu acho que é melhor do que as outras respostas:
Não requer a modificação de seus scripts para torná-los executáveis.
Não requer renomear seus scripts.
fonte
Desculpe por sugerir algo básico. Você tentou "scriptname.py", em vez de apenas "scriptname"?
Além disso, todos os scripts precisam ter permissões de execução (você pode emitir isso "chmod + x script.py"). A julgar pelo seu comentário acima, você os executou como "/ usr / share / scripts / scriptName. py args ", eles devem ter permissões de execução.
fonte