У меня есть сценарий, который должен знать, с какого имени пользователя он запускается.Как я могу получить имя пользователя, выполняющего мой скрипт Perl?
Когда я запускаю его из оболочки, я могу легко использовать $ ENV {"USER"}, который предоставляется bash.
Но, по-видимому, тогда же сценарий запускается из cron, также через bash - $ ENV {"USER"} не определен.
Конечно, я могу:
my $username = getpwuid($<);
Но это не выглядит хорошо - есть ли лучше/красивее путь? Он не должен быть независимым от системы, поскольку сценарий предназначен для моего личного использования и будет работать только в Linux.
Хе. В моем фактическом коде я (конечно) пользуюсь английским языком, и я действительно использую $ REAL_USER_ID, но я не хотел приводить здесь какие-либо дебаты по «английскому или короткому именам» :) – 2009-09-04 14:52:59
В моем коде я использовал бы ' $ <', так что это не дискуссия, о которой я беспокоюсь, но я думал, что вы можете считать ее красивее. –