一尘不染

cd可执行文件的位置

linux

我了解到,使用exec()调用发出的命令的可执行文件应该存储在PATH变量一部分中的目录中。

因此,我ls, chmod, grep, cat在/ bin中找到的可执行文件。

但是,我找不到的可执行文件cd

它在哪里?


阅读 311

收藏
2020-06-03

共1个答案

一尘不染

进程只能影响其自己的工作目录。当可执行文件由外壳执行时,它将作为子进程执行,因此cd可执行文件(如果存在)将在不影响父进程(外壳)的情况下更改该子进程的工作目录,因此cd命令必须实现为内置的shell,实际上在shell自己的进程中执行。

2020-06-03