내보내기 USER=myName을 사용해도 whoami의 출력이 변경되지 않습니다.

내보내기 USER=myName을 사용해도 whoami의 출력이 변경되지 않습니다.

나는 보았다이 예

$ whoami
MatsP
$ g++ -Wall -std=c++0x getenv.cpp 
$ ./a.out
MatsP
$ export USER=DonaldDuck
$ ./a.out
DonaldDuck

하지만 나에게는 이것이 작동하지 않습니다. 저는 데비안 컴퓨터를 사용하고 있습니다. 나는 그것을 사용했고 export -p실제로 변수가 변경되었습니다. 새로 고쳤 bachrc지만 여전히 아무것도 없습니다. 위의 목표를 달성하는 방법은 무엇입니까? whoami기본값을 표시합니다.

답변1

whoamiLinux에서는 변수를 읽을 수 없습니다 USER.

"일반 시스템"(LDAP를 사용하지 않음을 의미)에서는 geteuid(2)현재 유효한 사용자 ID를 얻기 위해 시스템 호출을 수행한 다음 읽어서 /etc/passwd사용자 이름을 찾습니다.

관련 정보