-t
-t Force pseudo-tty allocation.
This can be used to execute arbitrary screen-based
programs on a remote machine, which can be very useful, e.g. when implementing menu services.
Multiple -t options force tty allocation, even if ssh has no local tty.
Try ssh -t (or ssh -tt for short) to force pseudo-tty allocation even if stdin isn’t a terminal.
【我的理解是:即使想连接的目标主机不是在终端执行,也会强制使用在终端执行。待指正】
-T
Disable pseudo-terminal allocation.
-t
强制分配伪终端. 可以在远程机器上执行任何全屏幕(screen-based)程序, 所以非常有用, 例如菜单服务. 并联的 -t 选项强制分配终端, 即使 没有本地终端.
-T
禁止分配伪终端.
当用ssh或telnet等登录系统时,系统分配给我们的终端就是伪终端。
如果ssh使用此选项登录系统时,由于禁用,将无法获得终端;但仍能够获得shell,只不过看起来像在本地,也没有很多应有的环境变量,例如命令提示符,PS1等。
当使用命令ps -ef|grep [b]ash时看到root 22082 22080 0 11:51 ? 00:00:00 -bash显示终端那里是一个问号。