我将终端输出从一个终端会话定向到另一个终端会话。当会话收到输出时,提示就会消失。按 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
您的提示仍然在那里,等待着您,您只是在屏幕上添加了一些内容。