You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python脚本串联Linux命令并自动执行指定终端命令

用Python脚本执行交互式Linux命令

要实现自动执行指定的nc命令并输入后续指令,Python的subprocess模块是最佳选择——它能处理交互式进程的输入输出。

实现脚本

下面是直接满足需求的Python脚本,会自动启动nc连接SMTP服务器,并发送HELO google.com指令:

import subprocess

# 启动nc进程,开启标准输入管道
nc_process = subprocess.Popen(
    ['nc', '-C', 'smtp.google.com', '25'],
    stdin=subprocess.PIPE,
    text=True  # 使用文本模式,无需手动编码字节
)

# 发送HELO命令,注意末尾的换行符
nc_process.stdin.write('HELO google.com\n')
nc_process.stdin.flush()  # 确保输入被立即发送

# 等待进程结束
nc_process.communicate()

关键说明

  • subprocess.Popen:用于启动外部进程,stdin=subprocess.PIPE允许我们向进程输入内容
  • text=True:让输入输出以字符串而非字节形式处理,简化编码操作
  • flush():必须调用这个方法,否则输入可能会被缓存,不会立即发送给nc进程

注意事项

  • 确保系统已安装nc工具(大部分Linux发行版默认自带)
  • smtp.google.com的25端口可能被ISP或防火墙拦截,若连接失败可尝试使用465端口(SSL加密),命令改为nc -C smtp.google.com 465
  • 该脚本仅完成基础的连接和HELO指令发送,若需完整的SMTP操作,建议直接使用Python内置的smtplib模块,比调用nc更可靠

内容的提问来源于stack exchange,提问作者Mitchell Zhou

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 18:16:07