dotfiles/bin/genpw

34 lines
543 B
Bash
Executable File

#!/bin/bash
LENGTH=30
CLASS="[:alnum:]-_.:,;*=!<>"
# Show usage
if [ "$1" == "--help" ]; then
echo "Usage: $0 [length] [class]"
echo "Default length: 30"
echo "Default class: $CLASS (see 'man tr')"
exit 0
fi
# Set length if given
if [ "$1" != "" ] && [ $1 -gt 0 ]; then
LENGTH=$1
fi
shift
# Set class if given
if [ "$1" != "" ]; then
CLASS=$1
fi
echo "Generating from /dev/urandom with length $LENGTH using class $CLASS."
PW=`cat /dev/urandom | tr -dc "$CLASS" | head -c $LENGTH`
echo "Generated password: $PW"
PW="XXXX"
exit 0