这是我的根检查代码。如果没有通过,请不要运行脚本,因为您需要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
答案 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)"
。