$ SUDO_USER không hoạt động nếu bạn đang sử dụng sudo su -.
Nó cũng yêu cầu nhiều lần kiểm tra - nếu $USER == 'root'sau đó nhận được$SUDO_USER .
Thay vì whoamisử dụng lệnh who am i. Thao tác này chạy wholệnh được lọc cho phiên hiện tại. Nó cung cấp cho bạn nhiều thông tin hơn bạn cần. Vì vậy, hãy làm điều này để chỉ người dùng:
who am i | awk '{print $1}'
Ngoài ra (và đơn giản hơn) bạn có thể sử dụng logname. Nó làm điều tương tự như câu lệnh trên.
Điều này cung cấp cho bạn tên người dùng đã đăng nhập vào phiên.
Những hoạt động này không phụ thuộc vào sudohoặc sudo su [whatever]. Nó cũng hoạt động bất kể bao nhiêu lần suvà sudođược gọi.
who am ilà câu trả lời ở đây.