Bash Python

2025年1月5日 | 阅读 3 分钟

引言

在本教程中,我们将学习 bash Python。如果您使用大型函数,则会间接与 Bash 交互。如果您使用的是 Ubuntu、Linux Mint 或其他 Linux 发行版,那么每次使用终端时都会与 Bash 交互。假设您正在编写一个需要用 Python 代码调用的 bash 脚本。

Linux 开发者对 shell 命令的热爱并非新鲜事。此外,Python 用户有时会准备 bash 脚本进行自动化。Python 是一种具有许多功能且麻烦更少的超级 bash。这就是为什么人们总是更喜欢 Python 而不是 Bash。

让我们看一个简单的例子,并提出一个名为 subprocess 的方法。作为参数,您必须传递要调用的命令及其参数;所有这些都包含在列表中。

程序代码

在这里,我们使用 Python 在终端上编写一个简单的 bash 脚本的代码。代码如下:

输出

现在,我们在 Python 中编译上述代码,成功编译后运行它。输出如下:

Java T point

使用 Python subprocess 模块执行 bash 脚本

创建新进程并调用 echo 命令并带上 "Java T point" 参数。但是,命令的结果不会被 Python 脚本捕获。我们可以通过运行函数、添加关键字参数 Capture_output = True 或调用同一模块中的 check_output 函数来完成此操作。两个函数都调用此命令,但第一个函数在 Python 3.7 及更高版本中可用。

程序代码

现在,我们编写一个程序代码,使用 Python subprocess 模块执行 bash 脚本。代码如下:

输出

现在,我们在 Python 中编译上述代码,成功编译后运行它。输出如下:

CompletedProcess(args=['echo', ' Java T point '], returncode=0, stdout=b' Java T point \n', stderr=b'')
b' Java T point \n'

使用 Python subprocess 模块执行现有 bash 脚本

我们还可以使用 Python subprocess 模块执行已存在的 bash 脚本。

程序代码

在这里,我们使用 Python subprocess 模块提供现有 bash 脚本的程序代码。代码如下:

输出

现在,我们在 Python 中编译上述代码,成功编译后运行它。输出如下:

CompletedProcess(args = ['/path/to/your/shell/script', 'arguments'], returncode = 129)

调用 shell 脚本的常见问题及其解决方案

  1. 调用脚本时权限被拒绝 - 不要忘记启用脚本的完成!使用 chmod +x /path/to/your/script
  2. OSError: [Errno 8] Exec format error - run 函数缺少 shell = True 选项或脚本没有 shebang。

使用 Python 中的 OS 模块执行 bash 命令

我们还可以使用 Python 中的 OS 模块运行 bash 命令。要查找当前日期,我们可以在 Python 中使用 bash 命令。

程序代码

在这里,我们提供 Python 中 bash 命令的程序代码。代码如下:

输出

现在,我们在 Python 中编译上述代码,并在成功编译后运行它。输出如下:

The date of today is: Friday 27 October

结论

所以,通过本教程,我们正在学习 bash Python。使用 Bash 执行重复性任务或低级命令。然后,使用 Python 进行进一步的分析或输出可读文本是利用两种语言优势的好方法。此外,Python 的 subprocess 模块可以轻松地将 Bash 集成到您的 Python 脚本中。在这里,我们还讨论了其中的一些程序代码和输出。