linux - 为什么 'which -a cd' 命令在 Linux 中没有给出任何输出?

标签 linux

“哪个”命令给出命令的完整路径。除 cd 命令外,所有其他命令均有效。

最佳答案

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

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

关于linux - 为什么 'which -a cd' 命令在 Linux 中没有给出任何输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42730290/

相关文章:

linux - 通过 wifi 流式传输音频 : feasible and how?

linux - 在使用 --files-from 复制期间使用 rsync 重命名文件?

python - 安装 Pillow 错误 : Setup script exited with error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

linux - 使用单声道的鹦鹉螺扩展?

linux - 如何更改由脚本创建的文件的组所有者

c - 来自linux shell脚本的函数不在c程序中执行

linux - 使用 capsh 删除所有功能

c - 为什么主机系统上的 lua 比 linux vm 上的慢?

linux - 限制 OpenSSH 只允许上传到特定目录

python - 在具有共享 Windows 文件夹的 VMWare 中使用 virtualenv