有人可以解释为什么SSH重复stdin回到屏幕时,PTY分配是强制的,我怎么能禁用它?
~% ssh -V OpenSSH_5.5p1 Debian-6+squeeze2, OpenSSL 0.9.8o 01 Jun 2010 ~% echo "This should only show up once." | ssh server.tld -tt '/bin/cat' This should only show up once. This should only show up once.
这实际上原来是一个非常简单的修复,我觉得愚蠢的俯瞰。 当你使用-tt和SSH时,SSH会创build一个pty,但是启用回显function。 要保持文本不被回显,请在命令前加上stty -echo如下所示: ssh -t server.tld "stty -echo && command"
我打算在这里做一个长时间的猜测,并猜测这是你分配的pty的本地回声。 STDIN正在被视为你的terminal的input,然后被回显给你。
在我的头顶,我想不出一个理智的方式来处理这个问题,而且我诚实地说, 不pipe怎么说,尝试这样做都不是一个好主意 。
如果你回答了为什么你觉得你必须以这种方式实施某些东西的评论,我会尽力帮你find另一种解决scheme。 但是,我不认为这会改变这个答案。