我正在制作一个命令 shell,我正在使用孩子来更改 shell 的目录,但我无法让它更改数组的内容;
最后它只打印当前目录而不是“/”。孩子对 newDirectory 数组没有影响。我究竟做错了什么?有没有办法让孩子改变数组的内容?谢谢。
char newDirectory[255];
getcwd(newDirectory, 255); //set newDirectory to current directory
pid_t pid;
pid = fork();
if(pid == 0){ //child execution
strcpy(newDirectory, "/");
exit(0);
}
else if (pid < 0){
printf( "Error!\n");
exit(1);
}
else{
pid = waitpid(pid, NULL, 0);
}
printf("%s\n", newDirectory);
chdir(newDirectory);