如何在shell脚本中执行python程序

Beg*_*ner 9 shell scripting ubuntu shell-script

我有一个 python 程序,我写了一些 python 代码(disk.py)。我python disk.py在终端中使用命令执行了这个程序,它起作用了。

现在我想使用 shell 脚本执行它。

SHW*_*SHW 24

Shell脚本应该是这样的:

#!/bin/sh
python disk.py
Run Code Online (Sandbox Code Playgroud)


jan*_*nos 14

为了能够执行,./disk.py你需要两件事:

  1. 将第一行更改为: #!/usr/bin/env python
  2. 使脚本可执行: chmod +x disk.py


Dar*_*nus 5

正如@SHW 提到的,这个问题实际上是在询问shell 脚本中执行 python 程序(不直接用 运行 python 脚本./disk.py

所以,扩展@SHW 的答案,你的 shell 脚本应该是这样的:

#!/bin/bash
/usr/bin/python /absolute/path/to/your/disk.py
Run Code Online (Sandbox Code Playgroud)

请注意,/usr/bin/python而不仅仅是python; 使用绝对路径有助于脚本准确地知道要使用什么 python(找到你安装的 python use 的绝对路径which python)。

将绝对路径与 Python 脚本一起使用而不是仅使用disk.py. 就我而言,我试图从我的 bash 脚本运行一个 Django 应用程序,所以我必须添加我的绝对路径manage.py才能正确运行。

此外,关于 bash 脚本的标题,有几种替代#!/bin/bash. 请看一下这个问题以了解更多信息。

干杯。