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

如何在Linux中通过Wine单命令运行带指定交互式输入的.exe程序

如何在Linux中通过Wine单命令运行带指定交互式输入的.exe程序

嘿,我来帮你搞定这个问题!你之前试的wine XXX.exe < YYY之所以没效果,是因为这个写法是把名为YYY的文件里的内容作为输入传给程序,而不是直接把字符串YYY输进去——这就难怪程序没反应啦😉

下面给你几个可行的单命令方案,完美适配你的需求:

方法一:用echo管道传递单次输入

这是最简单的方式,直接把要输入的字符串通过管道传给Wine命令:

echo "YYY" | wine XXX.exe

原理很简单:echo会输出字符串YYY(默认带换行符,刚好模拟你手动按回车的操作),然后通过管道|把这个输出作为XXX.exe的交互式输入,程序就会自动接收YYY并继续执行了。

方法二:用printf精准控制输入格式

如果你的程序对输入的换行符有严格要求,或者需要更灵活的输入格式,可以用printf:

printf "YYY\n" | wine XXX.exe

\n明确代表换行符,确保输入内容被程序正确识别。

拓展:多步交互式输入的情况(可选)

要是以后遇到程序需要多次输入的场景(比如先输YYY,再输ZZZ),可以用expect工具(先通过包管理器安装,比如sudo apt install expect),写个简单的脚本,但你现在只需要单次输入,上面两种方法完全够用。

在Python中使用的写法

你要在Python的os.system()里执行的话,直接把完整命令传进去就行:

import os
os.system('echo "YYY" | wine XXX.exe')

顺带提一句,Python官方更推荐用subprocess模块替代os.system(),安全性和灵活性更好,写法参考:

import subprocess
subprocess.run(['bash', '-c', 'echo "YYY" | wine XXX.exe'])

备注:内容来源于stack exchange,提问作者Hilary Chang

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 12:14:37