Use a variável de ambiente SUDO_USER
em vez de USER
.
sudo
coloca o nome do usuário que o executou na variável de ambiente SUDO_USER
:
ek@Io:~$ sudo sh -c 'echo $USER'
[sudo] password for ek:
root
ek@Io:~$ sudo sh -c 'echo $SUDO_USER'
ek
Você pode simplesmente substituir $USER
por $SUDO_USER
no seu script:
echo $SUDO_USER
Leitura Adicional
-
man sudo
, na seção "MEIO AMBIENTE":SUDO_USER Set to the login name of the user who invoked sudo.
A página do manual também descreve algumas outras variáveis de ambiente relacionadas definidas por
sudo
que podem ser úteis, comoSUDO_UID
eSUDO_GID