Script for generate password in linux

#!/bin/bash
 
USAGE="USAGE: [number of characters] [amount or s (simbols)] [s (simbols)]"
 
if [[ $1 == "-h" || $1 == "--help" ]]; then
    echo $USAGE
    exit 1
fi
 
if [ $# -gt 0 ]; then
    MIN=$1
else
    MIN=8
fi
 
if [ $# -le 1 ]; then
    cat /dev/urandom | tr -dc "a-zA-Z0-9" | dd  bs=$MIN count=1 2>/dev/null
    echo
elif [[ $# -eq 2 && $2 == "s" ]]; then
    cat /dev/urandom | tr -dc "a-zA-Z0-9@#*=[]" | dd  bs=$MIN count=1 2>/dev/null
    echo
elif [[ $# -eq 2 && $2 == [0-9]* ]]; then
    num="0"
    while [ $num -lt $2 ]; do
        cat /dev/urandom | tr -dc "a-zA-Z0-9" | dd  bs=$MIN count=1 2>/dev/null
        num=$[$num+1]
        echo
    done
elif [[ $# -eq 3 && $2 == [0-9]* && $3 == "s" ]]; then
    num="0"
    while [ $num -lt $2 ]; do
        cat /dev/urandom | tr -dc "a-zA-Z0-9@#*=[]" | dd  bs=$MIN count=1 2>/dev/null
        num=$[$num+1]
        echo
    done
else
    echo $USAGE
    exit 1
fi