$ 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ì whoami
sử dụng lệnh who am i
. Thao tác này chạy who
lệ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 sudo
hoặc sudo su [whatever]
. Nó cũng hoạt động bất kể bao nhiêu lần su
và sudo
được gọi.
who am i
là câu trả lời ở đây.