#!/bin/bash passstore_Verzeichnis=$( readlink -f ~/.password-store ) Verwendung() { >&2 echo 'Nach Passwort per Regex suchen.' >&2 echo '' >&2 printf 'Verwendung: %s [OPTIONS]\n' "$(basename "$0")" >&2 echo \ '#HELPTEXT# #' >&2 echo '' exit $1 } eval set -- "$( getopt -o h \ --long help \ --long version \ -n "$(basename "$0")" \ -- "$@" \ || echo "Verwendung" )" while true; do case "$1" in '-h'|'--help') Verwendung 0 ;; '--version') >&2 echo '#VERSION#' exit 0 ;; '--') shift break ;; *) >&2 printf 'FEHLER: Verstehe Option "%s" doch nicht!\n' "$1" exit 1 esac shift done if [ ! -d "${passstore_Verzeichnis}" ]; then >&2 printf 'Verzeichnis "%s" existiert nicht - ist pass initialisiert?\n' "${passstore_Verzeichnis}" exit 1 fi if [ $# -ne 0 ]; then >&2 printf 'FEHLER: Zu viele (%s) Argumente:\n' "$#" >&2 printf '"%s"\n' "$@" Verwendung 1 fi Ergebnisse=$( find "${passstore_Verzeichnis}" -type f -name '*.gpg' -printf '%P\n' \ | fzf ) if [ -z "${Ergebnisse}" ]; then >&2 echo 'Ich habe nichts finden können.' exit 1 fi output=$( pass show "${Ergebnisse%.gpg}" ) printf '%s\n' "${output}" \ | sed ' s/^Username: // t d ' \ | xclip -i printf "." read dummy printf '%s\n' "${output}" \ | head -n1 \ | xclip -i printf "." read dummy echo '' \ | xclip -i