2008-09-15 105 views
4

是否有终端程序显示输入,标准输出,错误输出,提示和用户输入的命令之间的区别?它还应该显示何时需要标准输入与运行命令。是否有终端程序区分输入,输出和命令?

一种方法是突出每个不同的方式。光标可以根据是否正在等待命令,运行命令或等待标准输入而改变颜色。

另一种方法是拥有3个框架 - 顶部用于输出的大框架(包括提示和命令运行),靠近底部的小框架用于标准输入,底部用于框架的单线框架命令行输入。这甚至可能允许运行另一个命令来提供输入,而前一个命令仍在等待标准输入。

http://jamesjava.blogspot.com/2007/09/terminal-window-with-3-frames.html

回答

1

Hotwire可能是一个不错的选择,但它没有这样做,开箱即用的,据我所知

0

现在看来,有没有这样的计划。

0

我的程序gush(图形用户SHELL)做了这一部分。 它使用不同颜色的命令和程序stdin/stdout/stderr。 请注意,传统的外壳和终端分离使得这个不可能,因为它们之间的接口模拟了一个旧的串口终端连接,因此只有一个输入和一个输入通道。我通过将shell和 终端组合到一个程序中解决了这个问题。

这将是很好,还表示何时程序等待输入, 但我不认为有任何的方式来检测这一点,除非你跟踪的子计划的 系统调用来检测时,它会尝试阅读stdin。 对于交互式程序,你可以猜测,如果最后一个输出不是 以换行符结束,它可能会提示输入,但是这不会对适用于非交互式程序,例如。 SED。