|
我觉得 shell 的实现可以分一下层次,比如分为语言层与交互层,语言层专注于处理 shell script 的解释和执行,而交互层专门处理命令行编辑、历史等功能,这样的话,通过一种可定制的实现,甚至可以设计一个通用的交互端可以同各种 shell 语言处理层共同工作,因为它的工作只是处理编辑,然后就把命令原封不动地传给语言处理层,在把结果显示出来,这样的工作也可以直接由某些编辑器来完成,而这样的话,实现一个shell的负担也减轻了很多呀,而且通用的编辑界面的话,可以让用户在过渡到另外一个shell的时候少一些痛苦。我是这样想的,大家觉得这样设计如何?把两层合在一起来仅仅是历史原因还是什么其他什么呢? :ask 大家讨论一下。 |
|