как выполнить программу python в сценарии оболочки

У меня есть программа python, в которой я написал код python (disk.py). Я выполнил эту программу с помощью команды python disk.py в терминале, она сработала.

Теперь я хочу выполнить его с помощью сценария оболочки.

Чтобы иметь возможность выполнять как ./disk.py вам нужно две вещи:

  1. Измените первую строку следующим образом: #!/usr/bin/env python
  2. Сделайте исполняемый файл сценария: chmod +x disk.py

Сценарий оболочки должен выглядеть следующим образом:

 #!/bin/sh python disk.py 

Как упоминалось в @SHW, вопрос действительно спрашивает о выполнении программы python в сценарии оболочки (не запуская скрипт python напрямую с ./disk.py )

Итак, расширяя ответ @SHW, ваш сценарий оболочки должен выглядеть так:

 #!/bin/bash /usr/bin/python /absolute/path/to/your/disk.py 

Обратите внимание на /usr/bin/python вместо простого python ; использование абсолютных путей помогает сценарию точно знать, что использовать python (чтобы найти абсолютный путь к вашему установленному питону, which python использует which python ).

Такая же история при использовании абсолютных путей с вашим скриптом python, а не только с disk.py В моем случае я пытался запустить приложение Django из моего сценария bash, поэтому мне пришлось добавить абсолютный путь для моего manage.py чтобы он работал правильно.

Кроме того, в отношении заголовка вашего сценария bash существует несколько альтернатив #!/bin/bash . Пожалуйста, взгляните на этот вопрос, чтобы узнать больше об этом.

Приветствия.