diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2012-09-13 16:35:49 +0200 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2012-09-13 16:35:49 +0200 |
commit | b718c8039e5a04f102c3d2bb9f920d1472c89da1 (patch) | |
tree | 918aeeb4822a951715b62b7267b0475ba9432360 /src | |
parent | 709808d22cf09390b5404b7bfc42f3243d9577d4 (diff) |
Allow avoiding the prompt for overwriting, with --force flag.
Diffstat (limited to 'src')
-rwxr-xr-x | src/password-store.sh | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/password-store.sh b/src/password-store.sh index 2488385..76c7385 100755 --- a/src/password-store.sh +++ b/src/password-store.sh @@ -37,9 +37,10 @@ Usage: $program [show] [--clip,-c] pass-name Show existing password and optionally put it on the clipboard. If put on the clipboard, it will be cleared in 45 seconds. - $program insert [--no-echo,-n | --multiline,-m] pass-name + $program insert [--no-echo,-n | --multiline,-m] [--force,-f] pass-name Insert new password. Optionally, the console can be enabled to not - echo the password back. Or, optionally, it may be multiline. + echo the password back. Or, optionally, it may be multiline. Prompt + before overwriting existing password unless forced. $program edit pass-name Insert a new password or edit an existing password using ${EDITOR:-vi}. $program generate [--no-symbols,-n] [--clip,-c] pass-name pass-length @@ -170,24 +171,26 @@ case "$command" in insert) ml=0 noecho=0 + force=0 - opts="$(getopt -o mn -l multiline,no-echo -n $program -- "$@")" + opts="$(getopt -o mnf -l multiline,no-echo,force -n $program -- "$@")" err=$? eval set -- "$opts" while true; do case $1 in -m|--multiline) ml=1; shift ;; -n|--no-echo) noecho=1; shift ;; + -f|--force) force=1; shift ;; --) shift; break ;; esac done if [[ $err -ne 0 || ( $ml -eq 1 && $noecho -eq 1 ) || $# -ne 1 ]]; then - echo "Usage: $program $command [--no-echo,-n | --multiline,-m] pass-name" + echo "Usage: $program $command [--no-echo,-n | --multiline,-m] [--force,-f] pass-name" exit 1 fi path="$1" passfile="$PREFIX/$path.gpg" - if [[ -e $passfile ]]; then + if [[ $force -eq 0 && -e $passfile ]]; then prompt="An entry already exists for $path. Overwrite it [y/N]? " read -p "$prompt" yesno [[ $yesno == "y" || $yesno == "Y" ]] || exit 1 |