很多脚本需要以root来,因此当当前用户不是root的时候可以提示并引导用户获得root权限再执行。至少比看到一对Permission Denied要有好一些。(当然是引导那些有sudo priviledge的用户去sudo咯)
自动调用sudo的shell函数:
invoke_sudo()
{
if [ "`id -u`" != "`id -u $1`" ]; then
echo "`whoami`: you need $1 priviledge to run this application."
if [ "$AUTO_INVOKE_SUDO" == "yes" ]; then
echo "Invkoing sudo ..."
sudo -u "#`id -u $1`" bash -c "$2"
fi
exit 0
fi
}
使用方法是
invoke_sudo root "$0 $@"

Leave a comment