检查bash脚本中是否有root

时间:2014-04-23 22:57:33

标签: linux bash shell root

我想在运行之前检查运行脚本的用户是否是root用户。但它似乎没有用。我目前以root身份登录,但我认为它的语法有问题。

if[[ $EUID -ne 0 ]];
then
 echo "Sorry, you are not root."
 exit 1
else
 echo "You are root, script will continue."
fi

2 个答案:

答案 0 :(得分:3)

您需要if[之间的空格。

答案 1 :(得分:1)

为什么不像simething:

usrname=$(whoami)
if [ $usrname = "root" ]
echo "Sorry, you are not root."
 exit 1
else
  echo "You are root, script will continue."
fi

虽然我认为问题仅仅是您使用if语句的语法:

  • 为什么要双括号
  • 为什么在;之后if
  • if[之间的空格,因此if [

bash对语法非常敏感。例如,也不允许赋值运算符(=)之间的空格。