我在Linux中有一个程序,如果它的stdin / stdout不是TTY(终端设备),它将拒绝运行。是否有一个易于使用的工具来创建PTY,使用新创建的TTY启动程序,并通过stdin / stdout复制所有数据?
用例不是交互式的,而是脚本。我正在寻找最轻便的解决方案,最好不要创建TCP连接,并且不需要安装太多其他工具和库。
unbuffer(sudo apt-get install expect-dev在Ubuntu Lucid上为Expect的一部分)可以使程序误以为它已连接到TTY。
unbuffer
sudo apt-get install expect-dev
$ tty /dev/pts/3 $ echo | tty not a tty $ echo | unbuffer tty /dev/pts/11