$ SUDO_USER no funciona si está usando sudo su -.
También requiere varias comprobaciones, si es que $USER == 'root'se obtiene $SUDO_USER.
En lugar del comando whoamiuse who am i. Esto ejecuta el whocomando filtrado para la sesión actual. Te da más información de la que necesitas. Entonces, haz esto para obtener solo el usuario:
who am i | awk '{print $1}'
Alternativamente (y más simple) puede usar logname. Hace lo mismo que la declaración anterior.
Esto le da el nombre de usuario que inició sesión en la sesión.
Estos funcionan independientemente de sudoo sudo su [whatever]. También funciona independientemente de cuántas veces suy sudose llamen.
who am ies la respuesta aquí.