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)

相关推荐
独行soc11 分钟前
2025年渗透测试面试题总结-安恒[实习]安全服务工程师(题目+回答)
linux·数据库·安全·web安全·面试·职场和发展·渗透测试
L_cl13 分钟前
【Python 算法零基础 4.排序 ② 冒泡排序】
数据结构·python·算法
L汐30 分钟前
01 CentOS根分区满了扩容
linux·运维·centos
小峰编程32 分钟前
Python函数——万字详解
linux·运维·服务器·开发语言·前端·网络·python
大筒木老辈子1 小时前
Linux笔记---内核态与用户态
linux·运维·笔记
水木姚姚1 小时前
用 python 编写的一个图片自动分类小程序(三)
python·opencv·图片分类·图片识别
赱向远方1 小时前
【软件推荐——pdf2docx】
python·pdf·开源软件·docx·软件推荐·doc·pdf2docx
五花肉村长2 小时前
Linux-进程信号
linux·运维·服务器·开发语言·网络·c++
FBI HackerHarry浩2 小时前
Linux云计算训练营笔记day11(Linux CentOS7)
linux·运维·笔记·云计算
行止62 小时前
系统安全及应用
linux·运维·安全