$ 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 whoami
use who am i
. Esto ejecuta el who
comando 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 sudo
o sudo su [whatever]
. También funciona independientemente de cuántas veces su
y sudo
se llamen.
who am i
es la respuesta aquí.