diff options
Diffstat (limited to '')
-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 f642a03..5e168c1 100755 --- a/src/password-store.sh +++ b/src/password-store.sh @@ -349,13 +349,13 @@ case "$command" in ;; delete|rm|remove) recursive="" - force="-i" + force=0 opts="$($GETOPT -o rf -l recursive,force -n "$program" -- "$@")" err=$? eval set -- "$opts" while true; do case $1 in -r|--recursive) recursive="-r"; shift ;; - -f|--force) force="-f"; shift ;; + -f|--force) force=1; shift ;; --) shift; break ;; esac done if [[ $# -ne 1 ]]; then @@ -364,7 +364,7 @@ case "$command" in fi path="$1" - passfile="$PREFIX/$path" + passfile="$PREFIX/${path%/}" if ! [[ -d $passfile ]]; then passfile="$PREFIX/$path.gpg" if ! [[ -f $passfile ]]; then @@ -372,9 +372,12 @@ case "$command" in exit 1 fi fi - rm $recursive $force -v "$passfile" + + [[ $force -eq 1 ]] || yesno "Are you sure you would like to delete $path?" + + rm $recursive -f -v "$passfile" if [[ -d $GIT_DIR && ! -e $passfile ]]; then - git rm -r "$passfile" + git rm -qr "$passfile" git commit -m "Removed $path from store." fi ;; |