expect 是一个流行的库,用于通过编程方式与交互式程序(例如 ssh)进行交互。有一个迁移到 C 语言的版本,称为 libexpect 可以满足您的需求。 expect 模拟终端,因此特别适用于不会与简单管道通信的应用程序。
expect
确实是一个不错的答案。但你可能会发现使用它并不是很方便;在这种情况下,我建议寻找其他方法来完成(例如,使用某个库而不是分叉一个nano
进程)。 - Basile Starynkevitch