This commit is contained in:
vinceliuice 2021-06-01 10:54:29 +08:00
parent 8f4becc1a5
commit aa3e2b3c04

View File

@ -391,34 +391,36 @@ remove() {
} }
# Show terminal user interface for better use # Show terminal user interface for better use
if [[ $# -lt 1 ]] && [[ -x /usr/bin/dialog ]] ; then if [[ $# -eq 0 ]]; then
install_dialog && run_dialog if [[ ! -x /usr/bin/dialog ]]; then
fi if [[ $UID -ne $ROOT_UID ]]; then
#Check if password is cached (if cache timestamp not expired yet)
sudo -n true 2> /dev/null && echo
if [[ $# -lt 1 ]] && [[ $UID -ne $ROOT_UID ]] && [[ ! -x /usr/bin/dialog ]] ; then if [[ $? == 0 ]]; then
#Check if password is cached (if cache timestamp not expired yet) #No need to ask for password
sudo -n true 2> /dev/null && echo exec sudo $0
else
#Ask for password
prompt -e "\n [ Error! ] -> Run me as root! "
read -p " [ Trusted ] Specify the root password : " -t ${MAX_DELAY} -s
if [[ $? == 0 ]]; then sudo -S echo <<< $REPLY 2> /dev/null && echo
#No need to ask for password
exec sudo $0
else
#Ask for password
prompt -e "\n [ Error! ] -> Run me as root! "
read -p " [ Trusted ] Specify the root password : " -t ${MAX_DELAY} -s
sudo -S echo <<< $REPLY 2> /dev/null && echo if [[ $? == 0 ]]; then
#Correct password, use with sudo's stdin
if [[ $? == 0 ]]; then sudo $0 <<< $REPLY
#Correct password, use with sudo's stdin else
sudo $0 <<< $REPLY #block for 3 seconds before allowing another attempt
else sleep 3
#block for 3 seconds before allowing another attempt prompt -e "\n [ Error! ] -> Incorrect password!\n"
sleep 3 exit 1
prompt -e "\n [ Error! ] -> Incorrect password!\n" fi
exit 1 fi
fi fi
install_dialog
fi fi
run_dialog
fi fi
while [[ $# -gt 0 ]]; do while [[ $# -gt 0 ]]; do