脚本无法看到以root身份运行

时间:2012-10-08 19:13:57

标签: linux bash shell

这是我的根检查代码。如果没有通过,请不要运行脚本,因为您需要root。不确定这里出了什么问题:

if [ "whoami &2>/dev/null" != "root" ] && [ "id -un &2>/dev/null" != "root" ] ; then
    $BIN_ECHO " must be root to run this script "
    exit 1
else
    $BIN_ECHO -e " permission check passed "
fi

跑完后我得到:

must be root to run this script
[root@localhost ~]# whoami
root
[root@localhost ~]# id -un
root

3 个答案:

答案 0 :(得分:8)

“whoami”是一串字符。

`whoami`是命令的输出。

答案 1 :(得分:3)

您将包含命令的字符串与“root”进行比较。 This is not what you want

if [ "$(whoami &2>/dev/null)" != "root" ] && ...

答案 2 :(得分:2)

"whoami &2>/dev/null""id -un &2>/dev/null"只是字符串,它们没有运行命令。请改为使用:"$(whoami &2>/dev/null)""$(id -un &2>/dev/null)"