Perl スクリプトを実行しているユーザーの名前を取得するにはどうすればいいですか? 質問する

Perl スクリプトを実行しているユーザーの名前を取得するにはどうすればいいですか? 質問する

どのユーザー名から実行されるかを知る必要があるスクリプトがあります。

シェルから実行すると、bash によって提供される $ENV{"USER"} を簡単に使用できます。

しかし、どうやら、同じスクリプトが cron から、また bash 経由で実行されると、$ENV{"USER"} は定義されません。

もちろんできます:

my $username = getpwuid( $< );

しかし、見た目は良くありません。もっと良い/良い方法はないでしょうか? このスクリプトは個人的な使用を目的としたものであり、Linux でのみ実行されるため、システムに依存しない必要はありません。

ベストアンサー1

いくつかの場所から回答を得てみてください。最初の場所が勝ちです。

my $username = $ENV{LOGNAME} || $ENV{USER} || getpwuid($<);

おすすめ記事