在R中获取当前用户的用户名的跨平台方式是什么?我目前正在使用
system('whoami', intern=TRUE)
但是,这假定用户具有shell访问权限,并且whoami
程序可用。是否有一个更原生的人来获取R中的这些信息?
答案 0 :(得分:8)
我会这样做:
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命令不会调用a 默认情况下登录shell。