主要观点:终端中发生的一切是操作系统、外壳、终端模拟器以及正在运行的程序等的组合,前三者行为相对较固定,而正在运行的程序行为较难预测,作者总结了一些终端程序行为的“规则”。
关键信息:
- 终端相关的四个部分:操作系统、外壳、终端模拟器、正在运行的程序。
- 总结的 7 条“规则”:非交互程序按
Ctrl-C
退出;TUI 程序按q
退出;REPL 程序按Ctrl-D
在空行退出;不使用超过 16 种颜色;模糊支持readline
快捷键;向管道写时禁用颜色;-
表示标准输入/输出。 - 这些“规则”需长时间学习,作者总结是为了向他人解释终端工作原理。
重要细节: - POSIX 主要规定终端模拟器等的协作,对某些程序行为未作规定。
- 规则适用情况及例外,如
Ctrl-C
在交互和非交互程序中的不同作用等。 - 各程序对“规则”的具体实现方式及差异,如不同程序对
Ctrl-W
等快捷键的处理。 - 如要强制程序使用颜色可使用
unbuffer
等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。