Rで現在のユーザーのユーザー名を取得するクロスプラットフォームの方法は何ですか? 私は現在使用しています
system('whoami', intern=TRUE)
whoami
ただし、これは、ユーザーがシェル アクセス権を持ち、プログラムが使用可能であることを前提としています。Rでこの情報を取得するためのよりネイティブなものはありますか?
私はこれをします:
Sys.getenv("USERNAME") ## works under windows
またはより堅牢な:
Sys.info()[["user"]]
しかし、UNIX ライクなシステムでは、結果が異なる場合があります system('whoami', intern=TRUE)
:
whoami はユーザーが作業しているユーザー名を出力し、$USER はログインに使用されたユーザー名を出力します。
たとえば、ユーザーが John としてログインし、root に su すると、whoami は root を表示し、echo $USER は John を表示します。これは、su コマンドがデフォルトでログイン シェルを呼び出さないためです。