2012-10-08 63 views
1

这是我的根检查代码。如果不通过,请不要运行该脚本,因为您需要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 
[[email protected] ~]# whoami 
root 
[[email protected] ~]# id -un 
root 

回答

3

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

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

"whoami &2>/dev/null""id -un &2>/dev/null"仅仅是字符串,它们不运行的命令。使用:"$(whoami &2>/dev/null)""$(id -un &2>/dev/null)"

8

“whoami”是一串字符。

`whoami`是命令的输出。

相关问题