从另一个应用程序在 Cygwin 中运行 bash 命令
从用 C++ 或 python 编写的 Windows 应用程序中,如何执行任意 shell 命令?
我的 Cygwin 安装通常是从以下 bat 文件启动的:
@echo off
C:
chdir C:\cygwin\bin
bash --login -i
From a windows application written on C++ or python, how can I execute arbitrary shell commands?
My installation of Cygwin is normally launched from the following bat file:
@echo off
C:
chdir C:\cygwin\bin
bash --login -i
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
在 Python 中,使用 os.system、os.popen 或 subprocess 运行 bash 并传递适当的命令行参数。
From Python, run bash with
os.system
,os.popen
orsubprocess
and pass the appropriate command-line arguments.以下函数将运行 Cygwin 的 Bash 程序,同时确保 bin 目录位于系统路径中,以便您可以访问非内置命令。这是使用登录 (-l) 选项的替代方法,该选项可能会将您重定向到您的主目录。
使用示例:
The following function will run Cygwin's Bash program while making sure the bin directory is in the system path, so you have access to non-built-in commands. This is an alternative to using the login (-l) option, which may redirect you to your home directory.
Example use:
使用 -c 标志时,Bash 应该接受来自 args 的命令:
将其与 C++ 的
结合起来exec
或 python 的os.system
来运行命令。Bash should accept a command from args when using the -c flag:
Combine that with C++'s
exec
or python'sos.system
to run the command.