chdir () que não afeta a variável de ambiente PWD
Quando uso chdir () para alterar o diretório de trabalho atual, por que o getenv ("PWD") não fornece o diretório de trabalho atual? Preciso configurar também ("PWD", newDir, 1)?
void intChangeDir(char *newDir)
{
if( chdir(newDir)==0 )
{
printf("Directory changed. The present working directory is \"%s\" \"%s\"\n",getenv("PWD"),getcwd(NULL,0));
}
else
{
printf("Error changing dir %s\n",strerror(errno));
}
}
Saída: (o local do executável é / home / user)
alterado / inicialização
Diretório alterado. O diretório de trabalho atual é "/ home / user" "/ boot"