“哪个”命令给出命令的完整路径。除 cd 命令外,所有其他命令均有效。
最佳答案
考虑一下 shell 和更改目录的工作原理:对于您输入的每个命令,它将为该命令启动一个新进程。更改目录仅适用于当前正在运行的进程。如果 cd 命令作为外部命令执行,那么它将运行自己的进程,更改其进程目录,然后该进程将退出,父进程(shell)将根本不知道子进程做了什么。
因此 cd
命令只能在 shell 内部使用。它必须由 shell 及其自己的进程完全解析和执行。
关于linux - 为什么 'which -a cd' 命令在 Linux 中没有给出任何输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42730290/