diff options
Diffstat (limited to 'plugins/genpass')
| -rw-r--r-- | plugins/genpass/genpass.plugin.zsh | 15 | 
1 files changed, 13 insertions, 2 deletions
diff --git a/plugins/genpass/genpass.plugin.zsh b/plugins/genpass/genpass.plugin.zsh index e7f86bf7a..e6a1cef34 100644 --- a/plugins/genpass/genpass.plugin.zsh +++ b/plugins/genpass/genpass.plugin.zsh @@ -73,8 +73,19 @@ genpass-monkey() {  genpass-xkcd() {    # Generates a 128-bit XKCD-style passphrase -  # EG, 9-mien-flood-Patti-buxom-dozes-ickier-pay-ailed-Foster +  # e.g, 9-mien-flood-Patti-buxom-dozes-ickier-pay-ailed-Foster    # Can take a numerical argument for generating extra passwords + +  if (( ! $+commands[shuf] )); then +    echo >&2 "$0: \`shuf\` command not found. Install coreutils (\`brew install coreutils\` on macOS)." +    return 1 +  fi + +  if [[ ! -e /usr/share/dict/words ]]; then +    echo >&2 "$0: no wordlist found in \`/usr/share/dict/words\`. Install one first." +    return 1 +  fi +    local -i i num    [[ $1 =~ '^[0-9]+$' ]] && num=$1 || num=1 @@ -90,6 +101,6 @@ genpass-xkcd() {    for i in {1..$num}; do      printf "$n-" -    printf "$dict" | shuf -n "$n" | paste -sd '-' +    printf "$dict" | shuf -n "$n" | paste -sd '-' -    done  }  | 
