#!/bin/bash
# Don't forget to add alias in .bash_aliases
# alias pass='~/_initlinux/scripts/pass.sh'
pass() {
local digits=(2 3 4 5 6 7 8 9)
local upper=(A B C D E F G H J K L M N P Q R S T U V W X Y Z)
local lower=(a b c d e f g h j k m n p q r s t u v w x y z)
local password=""
local group_count=5
for ((i = 0; i < group_count; i++)); do
local block=()
# Добавить 2 цифры
for ((d = 0; d < 2; d++)); do
block+=( "${digits[$RANDOM % ${#digits[@]}]}" )
done
# Добавить 1 заглавную букву
block+=( "${upper[$RANDOM % ${#upper[@]}]}" )
# Добавить 1 строчную букву
block+=( "${lower[$RANDOM % ${#lower[@]}]}" )
# Перемешать
local group=$(printf "%s\n" "${block[@]}" | shuf | tr -d '\n')
# Добавить в пароль (с дефисом между блоками, кроме последнего)
if (( i < group_count - 1 )); then
password+="$group-"
else
password+="$group"
fi
done
echo "$password"
}
pass