KarelWintersky ha revisionato questo gist 1 week ago. Vai alla revisione
1 file changed, 1 insertion, 4 deletions
test.sh
| @@ -66,9 +66,6 @@ pass1=$(ask_password_visible "Password (mixed case, digits, min 12 chars)") | |||
| 66 | 66 | pass2=$(ask_password_visible2 "Password (mixed case, digits, min 12 chars)") | |
| 67 | 67 | pass3=$(ask_password_i "Password (mixed case, digits, min 12 chars):") | |
| 68 | 68 | ||
| 69 | - | summary_box \ | |
| 70 | - | "passA" "${pass1}" \ | |
| 71 | - | "passB" "${pass2}" \ | |
| 72 | - | "passC" "${pass3}" \ | |
| 69 | + | summary_box "passC" "${pass3}" | |
| 73 | 70 | ||
| 74 | 71 | ||
KarelWintersky ha revisionato questo gist 1 week ago. Vai alla revisione
1 file changed, 1 insertion, 1 deletion
test.sh
| @@ -69,6 +69,6 @@ pass3=$(ask_password_i "Password (mixed case, digits, min 12 chars):") | |||
| 69 | 69 | summary_box \ | |
| 70 | 70 | "passA" "${pass1}" \ | |
| 71 | 71 | "passB" "${pass2}" \ | |
| 72 | - | "passC" "${pass3}" | |
| 72 | + | "passC" "${pass3}" \ | |
| 73 | 73 | ||
| 74 | 74 | ||
KarelWintersky ha revisionato questo gist 1 week ago. Vai alla revisione
1 file changed, 1 insertion, 1 deletion
test.sh
| @@ -64,7 +64,7 @@ ask_password_visible2() { | |||
| 64 | 64 | ||
| 65 | 65 | pass1=$(ask_password_visible "Password (mixed case, digits, min 12 chars)") | |
| 66 | 66 | pass2=$(ask_password_visible2 "Password (mixed case, digits, min 12 chars)") | |
| 67 | - | pass3=$(ask_password_i "Password") | |
| 67 | + | pass3=$(ask_password_i "Password (mixed case, digits, min 12 chars):") | |
| 68 | 68 | ||
| 69 | 69 | summary_box \ | |
| 70 | 70 | "passA" "${pass1}" \ | |
KarelWintersky ha revisionato questo gist 1 week ago. Vai alla revisione
1 file changed, 3 insertions, 3 deletions
test.sh
| @@ -67,8 +67,8 @@ pass2=$(ask_password_visible2 "Password (mixed case, digits, min 12 chars)") | |||
| 67 | 67 | pass3=$(ask_password_i "Password") | |
| 68 | 68 | ||
| 69 | 69 | summary_box \ | |
| 70 | - | "1" "${pass1}" \ | |
| 71 | - | "2" "${pass2}" \ | |
| 72 | - | "3" "${pass3}" | |
| 70 | + | "passA" "${pass1}" \ | |
| 71 | + | "passB" "${pass2}" \ | |
| 72 | + | "passC" "${pass3}" | |
| 73 | 73 | ||
| 74 | 74 | ||
KarelWintersky ha revisionato questo gist 1 week ago. Vai alla revisione
1 file changed, 14 insertions, 1 deletion
test.sh
| @@ -24,6 +24,16 @@ summary_box() { | |||
| 24 | 24 | echo "" | |
| 25 | 25 | } | |
| 26 | 26 | ||
| 27 | + | ask_password_i() { | |
| 28 | + | local label=$1 | |
| 29 | + | local default_password="$(openssl rand -base64 12)" | |
| 30 | + | local value | |
| 31 | + | ||
| 32 | + | read -e -rp " ${CYAN}?${RESET} $label: " -i "${default_password}" value </dev/tty | |
| 33 | + | echo "" >&2 | |
| 34 | + | echo "$value" | |
| 35 | + | } | |
| 36 | + | ||
| 27 | 37 | ask_password_visible() { | |
| 28 | 38 | local label=$1 | |
| 29 | 39 | local default_password="$(openssl rand -base64 12)" | |
| @@ -54,8 +64,11 @@ ask_password_visible2() { | |||
| 54 | 64 | ||
| 55 | 65 | pass1=$(ask_password_visible "Password (mixed case, digits, min 12 chars)") | |
| 56 | 66 | pass2=$(ask_password_visible2 "Password (mixed case, digits, min 12 chars)") | |
| 67 | + | pass3=$(ask_password_i "Password") | |
| 57 | 68 | ||
| 58 | 69 | summary_box \ | |
| 59 | 70 | "1" "${pass1}" \ | |
| 60 | - | "2" "${pass2}" | |
| 71 | + | "2" "${pass2}" \ | |
| 72 | + | "3" "${pass3}" | |
| 73 | + | ||
| 61 | 74 | ||
KarelWintersky ha revisionato questo gist 1 week ago. Vai alla revisione
1 file changed, 22 insertions, 2 deletions
test.sh
| @@ -35,7 +35,27 @@ ask_password_visible() { | |||
| 35 | 35 | echo "${value:-$default_password}" | |
| 36 | 36 | } | |
| 37 | 37 | ||
| 38 | - | admin_pass=$(ask_password_visible "Password (mixed case, digits, min 12 chars)") | |
| 38 | + | ask_password_visible2() { | |
| 39 | + | local label=$1 | |
| 40 | + | local default_password="$(openssl rand -base64 12)" | |
| 41 | + | local value | |
| 42 | + | ||
| 43 | + | if [ -t 0 ] && [ -t 1 ] && command -v bash >/dev/null; then | |
| 44 | + | # Только если настоящий интерактивный терминал | |
| 45 | + | read -e -rp " ${CYAN}?${RESET} $label: " -i "$default_password" value </dev/tty 2>/dev/null || \ | |
| 46 | + | read -r -p " ${CYAN}?${RESET} $label [$default_password]: " value </dev/tty | |
| 47 | + | else | |
| 48 | + | read -r -p " ${CYAN}?${RESET} $label [$default_password]: " value </dev/tty | |
| 49 | + | fi | |
| 50 | + | ||
| 51 | + | echo "${value:-$default_password}" | |
| 52 | + | echo "" >&2 | |
| 53 | + | } | |
| 54 | + | ||
| 55 | + | pass1=$(ask_password_visible "Password (mixed case, digits, min 12 chars)") | |
| 56 | + | pass2=$(ask_password_visible2 "Password (mixed case, digits, min 12 chars)") | |
| 39 | 57 | ||
| 40 | - | summary_box "Password:" "${admin_pass}" | |
| 58 | + | summary_box \ | |
| 59 | + | "1" "${pass1}" \ | |
| 60 | + | "2" "${pass2}" | |
| 41 | 61 | ||
KarelWintersky ha revisionato questo gist 1 week ago. Vai alla revisione
1 file changed, 9 insertions
test.sh
| @@ -1,6 +1,15 @@ | |||
| 1 | 1 | #!/usr/bin/env bash | |
| 2 | 2 | set -euo pipefail | |
| 3 | 3 | ||
| 4 | + | BOLD=$'\033[1m' | |
| 5 | + | DIM=$'\033[2m' | |
| 6 | + | RESET=$'\033[0m' | |
| 7 | + | RED=$'\033[0;31m' | |
| 8 | + | GREEN=$'\033[0;32m' | |
| 9 | + | YELLOW=$'\033[0;33m' | |
| 10 | + | BLUE=$'\033[0;34m' | |
| 11 | + | CYAN=$'\033[0;36m' | |
| 12 | + | ||
| 4 | 13 | summary_box() { | |
| 5 | 14 | local width=60 | |
| 6 | 15 | local border | |
KarelWintersky ha revisionato questo gist 1 week ago. Vai alla revisione
1 file changed, 32 insertions
test.sh(file creato)
| @@ -0,0 +1,32 @@ | |||
| 1 | + | #!/usr/bin/env bash | |
| 2 | + | set -euo pipefail | |
| 3 | + | ||
| 4 | + | summary_box() { | |
| 5 | + | local width=60 | |
| 6 | + | local border | |
| 7 | + | border=$(printf '─%.0s' $(seq 1 $width)) | |
| 8 | + | echo "" | |
| 9 | + | echo " ${CYAN}${border}${RESET}" | |
| 10 | + | while [ $# -gt 0 ]; do | |
| 11 | + | printf " ${CYAN}│${RESET} %-28s %s\n" "$1" "$2" | |
| 12 | + | shift 2 | |
| 13 | + | done | |
| 14 | + | echo " ${CYAN}${border}${RESET}" | |
| 15 | + | echo "" | |
| 16 | + | } | |
| 17 | + | ||
| 18 | + | ask_password_visible() { | |
| 19 | + | local label=$1 | |
| 20 | + | local default_password="$(openssl rand -base64 12)" | |
| 21 | + | local value | |
| 22 | + | ||
| 23 | + | printf " ${CYAN}?${RESET} $label [%s]: " "$default_password" >&2 | |
| 24 | + | read -r value </dev/tty | |
| 25 | + | ||
| 26 | + | echo "${value:-$default_password}" | |
| 27 | + | } | |
| 28 | + | ||
| 29 | + | admin_pass=$(ask_password_visible "Password (mixed case, digits, min 12 chars)") | |
| 30 | + | ||
| 31 | + | summary_box "Password:" "${admin_pass}" | |
| 32 | + | ||