Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > etcライブラリ > Etcモジュール > getlogin

module function Etc.#getlogin

getlogin -> String | nil[permalink][rdoc]

自分の login 名を返します。得られなかった場合は nil を返します。

getlogin は su(1) などでログイン時のユーザとは異なるユーザになっている場合、 現在ではなくログイン時のユーザを返します。

このメソッドが失敗した場合は Etc.#getpwuid に フォールバックするとよいでしょう。

たとえば、環境変数 USER などもあわせて、以下のようにフォールバックできます。

require "etc"
login_user = ENV['USER'] || ENV['LOGNAME'] || Etc.getlogin || Etc.getpwuid.name