como executar um programa python em um shell script

3

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.

    
por Beginner 01.03.2014 / 10:01

3 respostas

11

Para poder executar como ./disk.py , você precisa de duas coisas:

  1. Altere a primeira linha para esta: #!/usr/bin/env python
  2. Torne o script executável: chmod +x disk.py
por 01.03.2014 / 10:18
16

O script de shell deve ser como:

#!/bin/sh
python disk.py
    
por 01.03.2014 / 10:13
1

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.

    
por 09.06.2017 / 01:57