test.sh
· 697 B · Bash
Sin formato
#!/usr/bin/env bash
set -euo pipefail
summary_box() {
local width=60
local border
border=$(printf '─%.0s' $(seq 1 $width))
echo ""
echo " ${CYAN}${border}${RESET}"
while [ $# -gt 0 ]; do
printf " ${CYAN}│${RESET} %-28s %s\n" "$1" "$2"
shift 2
done
echo " ${CYAN}${border}${RESET}"
echo ""
}
ask_password_visible() {
local label=$1
local default_password="$(openssl rand -base64 12)"
local value
printf " ${CYAN}?${RESET} $label [%s]: " "$default_password" >&2
read -r value </dev/tty
echo "${value:-$default_password}"
}
admin_pass=$(ask_password_visible "Password (mixed case, digits, min 12 chars)")
summary_box "Password:" "${admin_pass}"
| 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 | |
| 33 |