直接输出到另一个终端会话并恢复提示符?

直接输出到另一个终端会话并恢复提示符?

我将终端输出从一个终端会话定向到另一个终端会话。当会话收到输出时,提示就会消失。按 Enter 键,提示符将返回。

关于如何自动恢复提示有什么建议吗?

例如。

# ttys001

$ echo -e 'Notice that the prompt is not restored\ntill after pressing Enter.' > /dev/ttys002
$
# ttys002

$ Notice that the prompt is not restored
till after pressing Enter.

答案1

简短的回答-这按预期工作,但你不能。

提示实际上并没有“消失”——它仍然在那里,等待命令。当您在终端中输入命令(或任何东西)时,按下该键只会将该字符作为输入发送,实际上并不会导致该键显示在屏幕上。终端立即将其作为输出回显到屏幕上,因此看起来好像按下一个键会导致字符出现,但实际上这是一个双向“对话”。同样,当您从 s001 向 s002 的终端回显某些内容时,您只是将字符回显到该终端的输出,实际上并没有中断任何内容或使提示无效。您可以在 s001 中运行后但在 s002 中按 Enter 之前ls立即在 s002 中键入(或任何其他命令)来查看实际效果。echo您的提示仍然在那里,等待着您,您只是在屏幕上添加了一些内容。

相关内容