aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbin/bin/makepass8
1 files changed, 8 insertions, 0 deletions
diff --git a/bin/bin/makepass b/bin/bin/makepass
index 2b48456..d798b9a 100755
--- a/bin/bin/makepass
+++ b/bin/bin/makepass
@@ -19,6 +19,8 @@
# makepass-function
function makepass {
local l=$1
+ local words
+ MAKEPASS_WORDLIST=${MAKEPASS_WORDLIST:-/usr/share/dict/words}
# if $l is not a number, then exit
[[ ! $l =~ ^[0-9]+$ ]] && [[ ! "$l" == "" ]] && echo "not a number" && return 1
# if $1 is actually empty, set $l to random value for each output
@@ -30,6 +32,12 @@ function makepass {
[ "$1" = "" ] && l=$(shuf -i 16-64 -n 1)
< /dev/urandom tr -dc '!#$%&/()=?+-_,.;:<>[]{}|\@*^A-Z-a-z-0-9' | head -c${1:-$l};echo;
done;
+ if [ -r "${MAKEPASS_WORDLIST}" ]; then
+ for i in {1..5}; do
+ words=$(shuf -n 8 "${MAKEPASS_WORDLIST}" | tr '\n' '-' | tr -dc 'A-Z-a-z-0-9')
+ echo "${words:0:-1}"
+ done;
+ fi
}
makepass "${@:-}"