什么是在R中获取当前用户的用户名的跨平台方式? 我目前正在使用
system('whoami', intern=TRUE)
但是,这假定用户有shell访问权限,并且whoami
程序可用。 是否有一个更原生的获得这个信息在R?
我会这样做:
Sys.getenv("USERNAME") ## works under windows
或更好的更健壮:
Sys.info()[["user"]]
但是在类Unix系统下,结果有时与system('whoami', intern=TRUE)
不同system('whoami', intern=TRUE)
:
whoami输出用户正在工作的用户名,而$ USER则输出用于登录的用户名。
例如,如果用户以John身份登录并且su为root,那么whoami显示root并且echo $ USER显示John。 这是因为su命令默认情况下不会调用登录shell。