Mam skrypt, który musi wiedzieć, z jakiej nazwy użytkownika jest uruchamiany.Jak mogę uzyskać nazwę użytkownika wykonującego mój skrypt Perla?
Po uruchomieniu go z powłoki, mogę łatwo użyć $ ENV {"USER"}, który jest dostarczany przez bash.
Ale podobno - to ten sam skrypt uruchamiany jest z crona, również przez bash - $ ENV {"USER"} nie jest zdefiniowany.
Oczywiście, mogę:
my $username = getpwuid($<);
Ale to nie wyglądają ładnie - jest jakiś lepszy/ładniejszy sposób? Nie musi być niezależny od systemu, ponieważ skrypt jest przeznaczony do użytku osobistego i będzie działał tylko na Linuksie.
He. W moim prawdziwym kodzie, ja (oczywiście) używam angielskiego, a ja faktycznie używam $ REAL_USER_ID, ale nie chcę wywoływać tutaj debaty "Angielskie kontra skrócone imiona" :) –
W moim kodzie użyłbym ' $ <', więc to nie jest debata, na której mi zależy, ale myślałem, że możesz uważać to za ładniejsze. –