我可以使用popen
来运行任何程序,但显然不是cd
:
#include <stdio.h>
void main() {
FILE *fp = popen("cd", "w");
pclose(fp);
}
我希望将目录更改为主页,但没有任何反应。更改为&#34; r&#34;或更改为例如&#34; cd~&#34;,&#34; cd /&#34;,没有帮助。使用system
具有大致相同的结果,即适用于除cd
以外的任何内容。那怎么办?答案here对我不起作用。谢谢。
答案 0 :(得分:0)
cd
通常是shell内部命令,而不是可执行文件。
即使它是,通常没有进程可以更改另一个进程的工作目录,所以它会更改“cd”进程的cwd,然后在退出时它就会消失。