Генерация паролей

#!/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