【发布时间】:2014-10-31 14:41:17
【问题描述】:
cd 命令文件路径在哪里,在哪个环境变量中?! 我使用PATH环境变量,但我没有在其中找到cd命令,所以我想在execv中执行cd命令,提前谢谢你,我的代码:
char * envVariable = get env("PATH");
execv(path, args);
【问题讨论】:
-
执行
cd毫无意义。你会启动一个 shell,改变 shell 中的目录,退出 shell - 让其他一切都和以前一样。 -
在我的操作系统实验室作业中需要它...我不知道怎么做!!
-
cd是内置的 shell,不是命令。您可以使用chdir()更改目录。 -
如果要执行命令,需要先fork!如果您想查看重新编码的命令执行器:github.com/charvoa/42 / 并且内置函数应该是硬编码的!
-
当前目录与当前进程关联,但不是环境变量。一些 shell 将
$PWD设置为当前目录,但这只是一个约定;不能保证$PWD会继续匹配当前目录,并且chdir()不会触及任何环境变量。
标签: c linux environment-variables cd execv