#!/bin/bash # # Random password generator # LENGTH=$1 SET=$2 [ "$LENGTH" == "" ] && LENGTH=14 [ "$SET" == "" ] && SET=1 [ $SET -gt 5 ] && SET=$((${SET}%5+1)); case $SET in 1) tr -cd '[:alnum:]' < /dev/urandom | head -c${LENGTH}; echo ;; 2) tr -cd '[:lower:]' < /dev/urandom | head -c${LENGTH}; echo ;; 3) tr -cd '[:lower:][:upper:]' < /dev/urandom | head -c${LENGTH}; echo ;; 4) tr -cd 'a-zA-Z0-9`~!@#$%^&*()[]{}_=+\;:/?.>,<|-' < /dev/urandom | head -c${LENGTH}; echo ;; 5) tr -cd '[:lower:][:digit:]=\][;/.,-' < /dev/urandom | head -c${LENGTH}; echo ;; esac