Bash 我如何从我的执行官那里得到即时的回应';应用程序模式下的ed shell?

Bash 我如何从我的执行官那里得到即时的回应';应用程序模式下的ed shell?,bash,shell,master,pty,slave,Bash,Shell,Master,Pty,Slave,我正在尝试编写一个显示为vt100终端的远程shell程序+仿真器。我已经在连接的接收端完成了终端仿真器的编写,并用ssh对其进行了测试——一切正常。但是现在我在编写在主机上接受连接的远程shell守护程序时遇到了一些困难 我已经初始化了一个伪终端(pty),并成功地将从端连接到bash shell。然而,每当终端进入应用程序模式时(像vim这样没有提示的应用程序),仍然需要在收到响应之前发送换行符。例如,如果我在vim中并键入“dd”删除一行,则在按下enter键之前不会发生任何事情。然后,“

我正在尝试编写一个显示为vt100终端的远程shell程序+仿真器。我已经在连接的接收端完成了终端仿真器的编写,并用ssh对其进行了测试——一切正常。但是现在我在编写在主机上接受连接的远程shell守护程序时遇到了一些困难

我已经初始化了一个伪终端(pty),并成功地将从端连接到bash shell。然而,每当终端进入应用程序模式时(像vim这样没有提示的应用程序),仍然需要在收到响应之前发送换行符。例如,如果我在vim中并键入“dd”删除一行,则在按下enter键之前不会发生任何事情。然后,“dd”的效果和随后的返回发生(删除的行+光标移动到下一行)。在服务器端调试之后,我发现伪终端的主端在正确的时间获取所有密钥,但从端在收到换行符之前不会响应

我的问题是: 我如何从从从机端bash程序获得即时响应,而不让它等待响应直到收到换行符


对不起,如果我不清楚/做错了什么。这是我的第一个问题

听起来像是终端的线路缓冲。您是否正确中继了
ICANON
terminal属性的状态?请查看
man termios
,“Cannonical和non Cannonical模式”,感谢您的回复!这实际上是一个愚蠢的错误。我使用fprintf向主机侧写入,而不是刷新。哦。。。。。。不过我学到了很多关于tty设置的知识!听起来像是终端的线路缓冲。您是否正确中继了
ICANON
terminal属性的状态?请查看
man termios
,“Cannonical和non Cannonical模式”,感谢您的回复!这实际上是一个愚蠢的错误。我使用fprintf向主机侧写入,而不是刷新。哦。。。。。。不过我学到了很多关于tty设置的知识!