Home > Uncategorized > 自动调用sudo获得root权限并执行当前脚本

自动调用sudo获得root权限并执行当前脚本

很多脚本需要以root来执行,因此当前用户不是root的时候可以提示并引导用户获得root权限再执行。至少比看到一堆Permission Denied要友好一些。这里给出一个自动调用sudo的bash函数:

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 $@"
Categories: Uncategorized Tags: , ,
  1. No comments yet.
  1. No trackbacks yet.