命令行应用程序与内置程序

时间:2018-05-26 23:13:01

标签: shell command-line-interface

为什么命令行中的某些命令是内置的(即cddel),但其他命令是shell必须实际搜索并执行的应用程序(即{{ 1}}) - 为什么不把所有东西都内置?

1 个答案:

答案 0 :(得分:1)

某些命令实际上控制着shell的状态。这些适合作为内置函数编写,因为它们与shell紧密地交织在一起。 cd是这里的主要示例:当前工作目录是shell本身的一部分,因此实现改变它的程序,即cd,作为内置只是看起来很自然。

其他命令根本与shell无关,它们只使用shell。

使内置的所有命令都会大量膨胀shell:人们从不使用某些程序,但这些程序仍然会内置到shell中。这非常不方便,因为它是静态和笨重的。