6

在 R 中获取当前用户的用户名的跨平台方法是什么?我目前正在使用

system('whoami', intern=TRUE)

但是,这假定用户具有 shell 访问权限,并且whoami程序可用。是否有更多本地人可以在 R 中获取此信息?

4

1 回答 1

9

我会这样做:

 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。

于 2013-07-06T06:59:47.660 回答