$ SUDO_USER tidak berfungsi jika Anda menggunakan sudo su -
.
Ini juga membutuhkan banyak pemeriksaan - jika $USER == 'root'
kemudian dapatkan $SUDO_USER
.
Alih-alih whoami
menggunakan perintah who am i
. Ini menjalankan who
perintah yang difilter untuk sesi saat ini. Ini memberi Anda lebih banyak info daripada yang Anda butuhkan. Jadi, lakukan ini hanya untuk mendapatkan pengguna:
who am i | awk '{print $1}'
Atau (dan lebih sederhana) Anda dapat menggunakan logname
. Itu melakukan hal yang sama seperti pernyataan di atas.
Ini memberi Anda nama pengguna yang masuk ke sesi.
Ini bekerja terlepas dari sudo
atau sudo su [whatever]
. Ini juga berfungsi terlepas dari berapa kali su
dan sudo
dipanggil.
who am i
jawabannya di sini.