我怎样才能使用'我有root权限吗?'作为bash的条件?

时间:2011-08-31 00:31:11

标签: bash conditional root

我正在编写安装脚本,如果用户没有root访问权限,我希望它安装在本地目录中。

具体来说,我正在寻找克拉(<>

之间的代码
if [[<do I have root access? = TRUE>]]; then
    .. install .. 
else
    .. install  in $HOME/mylib .. 
fi

2 个答案:

答案 0 :(得分:2)

对于bash,您可以使用EUID变量:

if [ "$EUID" == 0 ] ; then
    ..something..
else
    ..something else
fi

对于符合POSIX的解决方案,请使用:

if [ "`id -u`" == 0 ] ; then

虽然要注意你问题的通常答案是“不要那样做”。你永远不知道什么时候有人会决定在你没想到的环境中运行你的代码......所以一般而言,不是“检查权限然后做某事”,更好的方法是“尝试做某事然后检测它是否失败”

答案 1 :(得分:0)