为什么'哪个-a cd'命令不能在linux中提供任何输出?

时间:2017-03-11 01:25:50

标签: linux

'which'命令提供命令的完整路径。除cd命令外,所有其他命令都正常工作。

2 个答案:

答案 0 :(得分:2)

考虑shell和更改目录的工作原理:对于您输入的每个命令,它将为该命令启动一个新进程。更改目录仅适用于当前正在运行的进程。如果cd命令作为外部命令执行,那么它将运行它自己的进程,更改其进程目录,然后进程将退出并且父进程(shell)根本不会知道任何内容孩子的过程确实如此。

因此cd命令只能在shell内部。它必须由shell及其自己的进程完全解析和执行。

答案 1 :(得分:0)

cd是bash中的内置命令。