2012-10-08 92 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`是命令的輸出。

相關問題