为什么命令行中的某些命令是内置的(即cd
,del
),但其他命令是shell必须实际搜索并执行的应用程序(即{{ 1}}) - 为什么不把所有东西都内置?
答案 0 :(得分:1)
某些命令实际上控制着shell的状态。这些适合作为内置函数编写,因为它们与shell紧密地交织在一起。 cd
是这里的主要示例:当前工作目录是shell本身的一部分,因此实现改变它的程序,即cd
,作为内置只是看起来很自然。
其他命令根本与shell无关,它们只使用shell。
使内置的所有命令都会大量膨胀shell:人们从不使用某些程序,但这些程序仍然会内置到shell中。这非常不方便,因为它是静态和笨重的。