当寻找的路径,可执行文件或检查,如果你在Unix shell中输入命令的名称会发生什么,有不同的公用事业过多(which,type,command,whence,where,whereis,whatis,hash,等)。
我们经常听说which应该避免。为什么?我们应该用什么来代替?
我一直想知道为什么cd不是程序,但从未设法找到答案。
有谁知道为什么会这样?
内置命令和另一个名义上可以做同样事情的命令之间有什么内在的区别吗?
例如。内置函数是否得到“特殊”处理?...运行它们的开销是否更少?.. 或者它们只是简单地“内置”;像你汽车的仪表盘?
...是否有这些内置函数的明确(当前)列表?
从有关的printf是否是这个问题,一个内置的佳日,谈到这个答案是报价POSIX标准。
答案指出,POSIX 搜索顺序是查找所需命令的外部实现,然后,如果 shell 已将其实现为内置,则运行内置。(对于不是特殊内置函数的内置函数。)
为什么 POSIX 要求在允许运行内部实现之前存在外部实现?
似乎……随意,所以我很好奇。
shell ×4
bash ×1
cd-command ×1
command ×1
history ×1
portability ×1
posix ×1
utilities ×1
which ×1