【发布时间】:2010-01-28 14:51:37
【问题描述】:
我正在编写一些需要 Bash 接口的东西。起初我以为我可以只使用 popen 或 QProcess。 (我正在使用 QT C++)它们工作正常,但我无法让它们在 tty 中运行 Bash,如果你要使用 sudo 之类的东西,你需要它,这需要 tty/pty 来接受密码。
我在 GNU 标准 C 库中找到了一些诸如 forkpty()、openpty() 等的东西,但即使在阅读了它们相应的手册页之后,也无法弄清楚如何使用它们或找到任何好的示例。从字面上看,我的程序的这一部分需要做的是能够从运行 /bin/bash 的 tty 读取/写入。真的就这么简单,还是有比表面上更复杂的东西?
如果是这样,谁能提供一个简明的例子来说明如何做到这一点? 提前致谢! 编辑:Here's 我想出的头文件!
【问题讨论】:
-
你没有展示你是如何调用 Bash 的,但是你试过
bash -li吗? -
事实上,我做到了。该命令将 bash 称为交互式登录 shell,但仍未在电传打字机中运行它。 ;_;我必须为此编写一些额外的代码。