我看见这个例子
$ whoami
MatsP
$ g++ -Wall -std=c++0x getenv.cpp
$ ./a.out
MatsP
$ export USER=DonaldDuck
$ ./a.out
DonaldDuck
但对我来说这不起作用。我在 Debian 机器上。我使用了export -p
,确实变量发生了变化。我刷新了一下bachrc
,还是没有。如何实现以上目标?whoami
显示默认值。
答案1
whoami
在 Linux 上不读取USER
变量。
在“常规系统”(意思是不使用 LDAP)上,它只是执行geteuid(2)
系统调用来获取您当前的有效用户 ID,然后读取/etc/passwd
以查找您的用户名。