#!/bin/sh alnum() { cat /dev/urandom | tr -dc [:alnum:] | fold -w 32 | head -1 } alnum_spec() { cat /dev/urandom | tr -dc [:alnum:]'!@#$%^&*()-_=+' | fold -w 32 | head -1 } _help() { echo 'Flags: a - alphanumeric set s - alphanumeric + special characters' } case $1 in a) alnum;; s) alnum_spec;; *) _help;; esac