python 调用shell 脚本

复制代码
import subprocess

# 定义脚本路径和参数
script_path = './example.sh'
param1 = '参数1'
param2 = '参数2'
param3 = '参数3'

# 调用 Shell 脚本并传递参数
subprocess.run([script_path, param1, param2, param3])

如果版本较高的情况下可以使用这个命令

复制代码
import subprocess

# 定义脚本路径和参数
script_path = './example.sh'
param1 = '参数1'
param2 = '参数2'
param3 = '参数3'

# 调用 Shell 脚本并传递参数
result = subprocess.run([script_path, param1, param2, param3], capture_output=True, text=True)

# 输出脚本的结果
print("输出:", result.stdout)
print("错误:", result.stderr)
  • subprocess.run() 用于执行 Shell 命令或脚本。

  • 参数传递格式为列表 [script_path, param1, param2, param3],相当于在终端运行 ./example.sh 参数1 参数2 参数3

  • capture_output=True 将标准输出和标准错误捕获到 result.stdoutresult.stderr 中。

  • text=True 将输出以字符串形式返回,方便进一步处理。
    如果python 版本很低

    import subprocess

    调用 shell 脚本,并传入三个参数

    return_code = subprocess.call(['sh', 'your_script.sh', 'arg1', 'arg2', 'arg3'])

    print("Return Code:", return_code)

相关推荐
q***474311 小时前
Windows 和 Linux 系统下,如何查看 Redis 的版本号?
linux·windows·redis
林炳然11 小时前
Python-Basic Day-5 函数-生成器&装饰器
python
代码对我眨眼睛11 小时前
Ubuntu 系统 NVIDIA 显卡驱动自动化安装全流程
linux·ubuntu·自动化
xiong2learning11 小时前
Linux虚拟机无法使用u盘的一种可能-- 重新下载open-vm-tools + open-vm-tools-desktop解决
linux
LCG元11 小时前
实战:一次完整的网站故障排查记录(从用户访问到数据库)
linux
xuyanqiangCode11 小时前
Ubuntu二进制安装Apache Doris(2.1版本)
linux·ubuntu·apache
Yue丶越11 小时前
【Python】基础语法入门(四)
linux·开发语言·python
木童66211 小时前
Nginx 深度解析:反向代理与负载均衡、后端Tomcat
linux·运维·nginx
赖small强12 小时前
【Linux 网络基础】网络通信中的组播与广播:基础概念、原理、抓包与应用
linux·网络·broadcast·组播·广播·multicast
陌路2012 小时前
Linux是如何收发网络包的?
linux·网络