Bash - 获取 Sudoer 用户名?

Ali*_*xel 3 command-line bash root sudo users

假设我有以下 bash 脚本:

#!/bin/bash

echo $( whoami )
Run Code Online (Sandbox Code Playgroud)

这是它在使用和不使用 sudo 的情况下输出的内容:

alix@netbook:~$ ./test.sh 
alix
alix@netbook:~$ sudo ./test.sh 
root
Run Code Online (Sandbox Code Playgroud)

该脚本执行几个需要超级用户权限的命令,但我也想将原始执行用户添加到一个组中。alix如果我运行,是否有任何命令返回sudo ./test.sh

Ali*_*xel 5

相关答案中找到了解决方案:

#!/bin/bash

echo $( whoami )
echo $SUDO_USER
Run Code Online (Sandbox Code Playgroud)

和输出:

alix@netbook:~$ ./test.sh 
alix

alix@netbook:~$ sudo ./test.sh 
root
alix
Run Code Online (Sandbox Code Playgroud)