From 3cc8675993e78e2ed072d75a5773fddd7bd94be9 Mon Sep 17 00:00:00 2001 From: Vlad Doster Date: Sun, 31 May 2020 15:37:31 -0500 Subject: reduce redundant code into 2 functions - much easier to read - reduce places to change - reusable if ever need to add more inputs --- larbs.sh | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/larbs.sh b/larbs.sh index 73d6b5f..71841d1 100644 --- a/larbs.sh +++ b/larbs.sh @@ -34,6 +34,8 @@ else fi error() { clear; printf "ERROR:\\n%s\\n" "$1"; exit;} +input_box() { dialog --inputbox "$1" 10 60 3>&1 1>&2 2>&3 3>&1 } +password_box() { dialog --no-cancel --passwordbox "$1" 10 60 3>&1 1>&2 2>&3 3>&1 } welcomemsg() { \ dialog --title "Welcome!" --msgbox "Welcome to Luke's Auto-Rice Bootstrapping Script!\\n\\nThis script will automatically install a fully-featured Linux desktop, which I use as my main machine.\\n\\n-Luke" 10 60 @@ -47,16 +49,16 @@ selectdotfiles() { \ getuserandpass() { \ # Prompts user for new username an password. - name=$(dialog --inputbox "First, please enter a name for the user account." 10 60 3>&1 1>&2 2>&3 3>&1) || exit + name=$(input_box "First, please enter a name for the user account.") || exit while ! echo "$name" | grep "^[a-z_][a-z0-9_-]*$" >/dev/null 2>&1; do - name=$(dialog --no-cancel --inputbox "Username not valid. Give a username beginning with a letter, with only lowercase letters, - or _." 10 60 3>&1 1>&2 2>&3 3>&1) + name=$(input_box "Username not valid. Give a username beginning with a letter, with only lowercase letters, - or _.") done - pass1=$(dialog --no-cancel --passwordbox "Enter a password for that user." 10 60 3>&1 1>&2 2>&3 3>&1) - pass2=$(dialog --no-cancel --passwordbox "Retype password." 10 60 3>&1 1>&2 2>&3 3>&1) + pass1=$(password_box "Enter a password for that user.") + pass2=$(password_box "Retype password.") while ! [ "$pass1" = "$pass2" ]; do unset pass2 - pass1=$(dialog --no-cancel --passwordbox "Passwords do not match.\\n\\nEnter password again." 10 60 3>&1 1>&2 2>&3 3>&1) - pass2=$(dialog --no-cancel --passwordbox "Retype password." 10 60 3>&1 1>&2 2>&3 3>&1) + pass1=$(password_box "Passwords do not match.\\n\\nEnter password again.") + pass2=$(password_box "Retype password.") done ;} usercheck() { \ -- cgit v1.2.3