Ian*_*Ian 6 linux terminal input output
很难准确地解释我正在寻找什么,所以我制作了一些示例输出,说明我希望我的终端如何工作。(行首的每个数字代表该行的返回值,> 代表输入行。
> me@computer:~$
5. me@computer:~$ cat somefile < command
start of file < output
< output
this < output
is < output
the < output
content < output
of < output
the < output
file < output
< output
end of file < output
4. me@computer:~$
3. me@computer:~$
2. me@computer:~$
1. me@computer:~$ echo this is the first line < command
this is the first line < output
Run Code Online (Sandbox Code Playgroud)
在此示例中,您键入要执行的命令的输入行将始终位于顶部。它会将每个命令和它的输出向下推送为“事件”,可以这么说。所以如果你 cat 一个文件,它会以相反的顺序输出所有内容,所以每个命令的输出外观没有改变,只是它的位置。
这是一个有趣的想法,但我认为目前还没有任何东西可以做到这一点。有许多相互关联的部分必须协同工作才能做到这一点。
没有太多尝试改变终端的工作方式,因为它们有数十年的增量历史,并且始终以相同的基本方式工作,彻底改变这一点将破坏现有应用程序的分配。
也就是说,编写一个简单的 ncurses 应用程序来执行您想要的操作并不是很难,但它只能在基本命令上运行,任何需要成熟终端的操作都会失败(例如 vim、nano、screen、top 等)。支持他们将是一项大量的工作。
然而,最近在创建现代终端应用程序方面进行了一些尝试,其中一些允许您直接显示图像/视频;例如术语。我见过的最激进的是黑屏,您可能会对它感兴趣。它并不完全是您正在寻找的东西,并且仍处于相当早期的开发阶段(您可能会遇到问题),但可能会提供一些相同的功能您希望它的工作方式的优点(突出显示命令,使您可以轻松地看到命令的输出启动/停止等)。