Como posso fazer script globalmente executável no Ubuntu?

0

Eu tenho um script bash que gostaria de executar em qualquer lugar (como outros comandos básicos do Linux, por exemplo ls ). Eu tentei seguir este tutorial mas isso não acontece trabalho, eu sempre recebo command not found .

Também seria legal se houvesse uma maneira de executar diretamente o script Python dessa forma, atualmente eu tenho o arquivo .py com o script e, em seguida, com o arquivo .sh, que chama python /path/to/it .

    
por Petr Mensik 15.01.2013 / 21:13

1 resposta

2

Se você escrever um script python, poderá executá-lo pelo menos das três maneiras a seguir:

1 Inicie o python com o script como argumento.

Exemplo: /usr/local/bin/python-2.5 myscript.py

2 Inicie o script com o intérprete shebang.

Isso significa que a primeira linha começa com #! (também chamado de shebang) seguido de um espaço (ou na maioria das vezes não!) e o caminho completo para o intérprete.

Exemplo:

#!/usr/local/bin/python-2.5
#
# My test script!
#
Do something

Observe que adicionei comentários após a primeira linha. Não os adicione acima, pois a primeira linha não começa mais com um shebang.

3 Inicie o script com #!/usr/bin/env python

Isso é mais ou menos o mesmo que a opção 2, exceto que env encontrará o python para você. Se o python for movido para um local diferente ou para uma nova versão, você não precisará atualizar todos os seus scripts.

Esta é a solução preferida

Tanto para a parte em que você usou um script sh para chamar python / path / to / it. Agora você agora, como pular essa parte.

A segunda parte da sua pergunta parece que seu script não foi encontrado. Para encontrar um script ou programa, é necessário especificar o caminho completo para ele (por exemplo, /usr/local/bin/myscript.py 'ou ele precisa estar em seu caminho.

Você pode verificar com o que seu caminho atual está definido como echo $PATH .

Provavelmente inclui / usr / local / bin /, o que significa que qualquer programa ou script descartado no diretório / usr / local / bin / será encontrado. Se não adicionar esse caminho ao padrão do sistema inteiro. (Nota: inicie um shell de login para testar isso depois de alterar isso. Alterar o arquivo de configuração sem iniciar um novo shell não refletirá as alterações).

Por último, pulei a parte em que você deseja que o script seja executável. Você já teve isso no tutorial que você vinculou você.

    
por 15.01.2013 / 21:30