终端程序遵循的“规则”

主要观点:终端中发生的一切是操作系统、外壳、终端模拟器以及正在运行的程序等的组合,前三者行为相对较固定,而正在运行的程序行为较难预测,作者总结了一些终端程序行为的“规则”。
关键信息:

  • 终端相关的四个部分:操作系统、外壳、终端模拟器、正在运行的程序。
  • 总结的 7 条“规则”:非交互程序按Ctrl-C退出;TUI 程序按q退出;REPL 程序按Ctrl-D在空行退出;不使用超过 16 种颜色;模糊支持readline快捷键;向管道写时禁用颜色;-表示标准输入/输出。
  • 这些“规则”需长时间学习,作者总结是为了向他人解释终端工作原理。
    重要细节:
  • POSIX 主要规定终端模拟器等的协作,对某些程序行为未作规定。
  • 规则适用情况及例外,如Ctrl-C在交互和非交互程序中的不同作用等。
  • 各程序对“规则”的具体实现方式及差异,如不同程序对Ctrl-W等快捷键的处理。
  • 如要强制程序使用颜色可使用unbuffer等。
阅读 7
0 条评论