cd 命令文件路径在哪里,在哪个环境变量中?!我使用PATH环境变量,但我没有在其中找到cd命令,所以我想在execv中执行cd命令,提前谢谢你,我的代码:
char * envVariable = get env("PATH");
execv(path, args);
cd 命令文件路径在哪里,在哪个环境变量中?!我使用PATH环境变量,但我没有在其中找到cd命令,所以我想在execv中执行cd命令,提前谢谢你,我的代码:
char * envVariable = get env("PATH");
execv(path, args);
如果你正在编写一个 shell - 或类似的东西,你需要有cd
一个调用chdir(2)系统调用的内置函数。
当您更改任何进程私有的属性时,这是必需的。当前目录就是这样一个属性(setrlimit(2)设置的限制也是如此......)
这解释了为什么您不能执行system("cd /tmp");
该system
功能是分叉一个/bin/sh -c
进程,并且该 shell 正在更改目录,而不是父进程(您的程序)。