一尘不染

将数据传输到需要TTY的Linux程序(终端)

linux

我在Linux中有一个程序,如果它的stdin /
stdout不是TTY(终端设备),它将拒绝运行。是否有一个易于使用的工具来创建PTY,使用新创建的TTY启动程序,并通过stdin /
stdout复制所有数据?

用例不是交互式的,而是脚本。我正在寻找最轻便的解决方案,最好不要创建TCP连接,并且不需要安装太多其他工具和库。


阅读 503

收藏
2020-06-02

共1个答案

一尘不染

unbuffersudo apt-get install expect-dev在Ubuntu
Lucid上为Expect的一部分)可以使程序误以为它已连接到TTY。

$ tty 
/dev/pts/3
$ echo | tty 
not a tty
$ echo | unbuffer tty 
/dev/pts/11
2020-06-02