使用 export USER=myName 不会更改 whoami 的输出

使用 export USER=myName 不会更改 whoami 的输出

我看见这个例子

$ 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以查找您的用户名。

相关内容