chdir () no afecta la variable de entorno PWD
Cuando uso chdir () para cambiar el directorio de trabajo actual, ¿por qué getenv ("PWD") no da el directorio de trabajo actual? ¿Necesito setenv ("PWD", newDir, 1) también?
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));
}
}
Salida: (la ubicación del ejecutable es / home / user)
changeir / boot
Directorio cambiado. El directorio de trabajo actual es "/ home / user" "/ boot"