$SUDO_USER ne fonctionne pas si vous utilisez sudo su -
.
Elle exige également des contrôles multiples - si $USER == 'root'
puis obtenir $SUDO_USER
.
Au lieu de la commande whoami
utiliser who am i
. Cela permet d'exécuter le who
filtrée pour la session en cours. Cela vous donne plus d'informations que ce dont vous avez besoin. Donc, faites ceci pour obtenir seulement l'utilisateur :
who am i | awk '{print $1}'
Alternativement (et plus simplement) vous pouvez utiliser logname
. Il fait la même chose que la déclaration ci-dessus.
Cela vous donne le nom d'utilisateur qui s'est connecté à la session.
Ils fonctionnent indépendamment de sudo
o sudo su [whatever]
. Cela fonctionne également quel que soit le nombre de fois su
y sudo
sont appelés.