gpt4 book ai didi

shell - 伪TTY行限制为256个字符吗?

转载 作者:行者123 更新时间:2023-12-02 14:10:22 25 4
gpt4 key购买 nike

通过Plink(PuTTY)从Windows机器通过以下方式打开SSH连接到Windows服务器:

Plink.exe -t <hostname> /bin/bash

然后,将bash命令行写入Plink.exe的stdin,并由远程 /bin/bash进程进行解析和执行。

只要bash命令行的长度不超过256个字符,它就可以工作。写入256个字符后,不再回显任何字符,而是为每个其他字符返回BEEP(ASCII代码7)。

(使用 /bin/bash而不是直接调用脚本似乎很奇怪,但这是更复杂场景的简化示例)

仅当使用-t标志时,才会出现256个字符的限制,但是在solaris服务器上执行的命令需要TTY。
Plink.exe进程是从Windows计算机上的JVM启动的。

我尝试使用“本地行编辑”和“本地回显”都处于关闭状态的PuTTY session 配置加载Plink.exe,但是行为是相同的。

在SSH客户端( Plink.exe)或服务器端(Solaris,OpenSSH,Bash)限制为256个字符吗?

如何避免256个字符的限制?

最佳答案

规范模式下输入到TTY的内容是逐行读取的,很大的一行可能不适合输入队列。通过将TTY设置为原始模式,可以直接读取每个字符,并且行可以大于输入队列。

通过调用“stty raw”解决了问题。

关于shell - 伪TTY行限制为256个字符吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5501986/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com