Linux 检查bash脚本中是否有根

Linux 检查bash脚本中是否有根,linux,bash,shell,root,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 为什么不模仿一下: usrname=$(whoami) if [ $usrname = "root" ] echo "Sorry, you

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

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

为什么不模仿一下:

usrname=$(whoami)
if [ $usrname = "root" ]
echo "Sorry, you are not root."
 exit 1
else
  echo "You are root, script will continue."
fi
尽管我认为问题仅仅在于
if
语句的语法:

  • 为什么是双括号
  • 为什么是
    ,则在
    之后添加code>
  • 介于
    if
    [
    之间的空格,因此
    if[

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

为什么不模拟如下:

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[

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

如果
之间需要有空格。[
如果
之间需要有空格[

你有一个空格键错误,请看@user3553031的回答你有一个空格键错误,请看@user3553031的回答当我发现该用户不是我想要的用户,而不是退出时,我如何以我想要的用户的身份运行脚本的其余部分?请看当我发现该用户不是我想要的用户,而不是退出时,我如何运行脚本的其余部分作为我想要的用户?请查看