Para poder executar como ./disk.py
, você precisa de duas coisas:
- Altere a primeira linha para esta:
#!/usr/bin/env python
- Torne o script executável:
chmod +x disk.py
Eu tenho um programa python em que escrevi algum código python (disk.py). Eu executei este programa usando o comando python disk.py
em um terminal, funcionou.
Agora quero executá-lo usando um script de shell.
O script de shell deve ser como:
#!/bin/sh
python disk.py
Como o @SHW mencionou, a questão realmente pergunta sobre a execução de um programa python em um script de shell (não executando o script python diretamente com ./disk.py
)
Então, expandindo a resposta do @SHW, seu script de shell deve ser como:
#!/bin/bash
/usr/bin/python /absolute/path/to/your/disk.py
Observe o /usr/bin/python
em vez de apenas python
; O uso de caminhos absolutos ajuda o script a saber exatamente o que python usar (para encontrar o caminho absoluto para seu uso de python instalado which python
).
Mesma história ao usar caminhos absolutos com seu script python em vez de apenas disk.py
. No meu caso, eu estava tentando executar um aplicativo Django do meu script bash, então eu tive que adicionar o caminho absoluto do meu manage.py
para que ele fosse executado corretamente.
Além disso, em relação ao cabeçalho do seu script bash, existem várias alternativas para #!/bin/bash
. Por favor, dê uma olhada em esta pergunta para saber mais sobre isso.
Felicidades.
Tags shell ubuntu scripting shell-script