Tôi có một tập lệnh cần biết tên người dùng đang chạy.Tôi làm cách nào để có được tên người dùng thực thi tập lệnh Perl của mình?
Khi tôi chạy nó từ trình bao, tôi có thể dễ dàng sử dụng $ ENV {"USER"}, được cung cấp bởi bash.
Nhưng rõ ràng - thì tập lệnh tương tự được chạy từ cron, cũng thông qua bash - $ ENV {"USER"} không được xác định.
Tất nhiên, tôi có thể:
my $username = getpwuid($<);
Nhưng nó không nhìn đẹp - là có bất kỳ/cách đẹp hơn tốt hơn? Nó không phải là hệ thống độc lập, vì kịch bản là để sử dụng cá nhân của tôi, và sẽ chỉ chạy trên Linux.
Heh. Trong mã thực tế của tôi, tôi (tất nhiên) sử dụng tiếng Anh, và tôi thực sự sử dụng $ REAL_USER_ID, nhưng tôi không muốn châm biếm bất kỳ cuộc tranh luận "Tiếng Anh so với tên ngắn" ở đây :) –
Trong mã của tôi, tôi sẽ sử dụng ' $ <', vì vậy đó không phải là một cuộc tranh luận mà tôi quan tâm, nhưng tôi nghĩ bạn có thể coi nó đẹp hơn. –