aboutsummaryrefslogtreecommitdiff
path: root/mkpass
diff options
context:
space:
mode:
Diffstat (limited to 'mkpass')
-rwxr-xr-xmkpass21
1 files changed, 21 insertions, 0 deletions
diff --git a/mkpass b/mkpass
new file mode 100755
index 0000000..d1acc08
--- /dev/null
+++ b/mkpass
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+set -e
+
+usage() {
+ echo "Usage: ${0##*/} [-n] [-l length] [chars]" >&2
+ exit 1
+}
+
+while getopts 'l:n' o; do
+ case "$o" in
+ l) len="$OPTARG" ;;
+ n) nnl=false ;;
+ *) usage ;;
+ esac
+done
+
+shift $((OPTIND - 1))
+[ $# -gt 1 ] && usage
+</dev/urandom tr -dc -- "${1:-[:graph:]}" | head -c "${len:-64}"
+${nnl:-true} && echo