我试图理解ssh
的-t
选项:
-t
强制伪终端分配。这可用于在远程机器上执行任意基于屏幕的程序,这非常有用,例如在实现菜单服务时。多个 -t 选项强制分配 tty,即使 ssh 没有本地 tty。
所以,TTY 是一个设备。引用 TTY 的一种方法是通过描述符(通过打开 TTY 设备获得)。STDIN、STDOUT 和 STDERR 是描述符。但它们不一定指 TTY 设备。-t
选项强制他们引用 TTY 设备。为了理解这个选项的作用,这是正确的推理方式吗?
而 TTY 有什么特别之处,用普通的 STDIN、STDOUT 和 STDERR 可能无法实现?
-t
欢迎提供选项用例的示例。
通过哪种机制ssh
分配该 TTY?ssh
是在服务器上还是在客户端上创建新的 TTY ?如何检查这个?(/dev/
必须出现一个新节点或其他东西......)这个新的 TTY 如何与现有的 STDIN、STDOUT 和 STDERR 相关联?