回答:
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_USER
man sudo
、「環境」のセクション:
SUDO_USER Set to the login name of the user who invoked sudo.
manページもによって定義されたいくつかの他の関連する環境変数について説明しsudo
のような便利になることがあり、SUDO_UID
そしてSUDO_GID