Linux 检查bash脚本中是否有根
在运行之前,我想检查运行脚本的用户是否是root用户。但它似乎不起作用。我目前以root用户身份登录,但我认为语法有问题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
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的回答当我发现该用户不是我想要的用户,而不是退出时,我如何以我想要的用户的身份运行脚本的其余部分?请看当我发现该用户不是我想要的用户,而不是退出时,我如何运行脚本的其余部分作为我想要的用户?请查看