我正在编写安装脚本,如果用户没有root访问权限,我希望它安装在本地目录中。
具体来说,我正在寻找克拉(<>
)
if [[<do I have root access? = TRUE>]]; then
.. install ..
else
.. install in $HOME/mylib ..
fi
答案 0 :(得分:2)
对于bash,您可以使用EUID
变量:
if [ "$EUID" == 0 ] ; then
..something..
else
..something else
fi
对于符合POSIX的解决方案,请使用:
if [ "`id -u`" == 0 ] ; then
虽然要注意你问题的通常答案是“不要那样做”。你永远不知道什么时候有人会决定在你没想到的环境中运行你的代码......所以一般而言,不是“检查权限然后做某事”,更好的方法是“尝试做某事然后检测它是否失败”
答案 1 :(得分:0)