Answers:
SUDO_USER环境变量代替USER。sudo将运行它的用户名放在SUDO_USER环境变量中:
ek@Io:~$ sudo sh -c 'echo $USER'
[sudo] password for ek:
root
ek@Io:~$ sudo sh -c 'echo $SUDO_USER'
ek因此,您只需在脚本中替换$USER为$SUDO_USER:
echo $SUDO_USERman sudo,在“环境”部分中:
SUDO_USER        Set to the login name of the user who invoked sudo.该手册页还描述了一些其他sudo可能有用的相关环境变量,例如SUDO_UID和SUDO_GID