$ SUDO_USER tidak berfungsi jika Anda menggunakan sudo su -.
Ini juga membutuhkan banyak pemeriksaan - jika $USER == 'root'kemudian dapatkan $SUDO_USER.
Alih-alih whoamimenggunakan perintah who am i. Ini menjalankan whoperintah 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 sudoatau sudo su [whatever]. Ini juga berfungsi terlepas dari berapa kali sudan sudodipanggil.
who am ijawabannya di sini.