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