diff options
| author | Paul Buetow <paul@buetow.org> | 2010-07-28 16:42:25 +0000 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2010-07-28 16:42:25 +0000 |
| commit | cbc92677858fb6e7d4c5b1d6665f385ddc9a5077 (patch) | |
| tree | 0c7e681e04edebdd7aff0ff16dbb81f58e74112b | |
| parent | 3e22cd30134a4546effb5e627baa53dfa78bbc3c (diff) | |
| -rwxr-xr-x | pwgrep.sh | 43 |
1 files changed, 32 insertions, 11 deletions
@@ -53,9 +53,10 @@ # Only use mawk or gawk, but if possible not nawk. On *BSD awk=nawk. So try # awk/nawk last. You can use nawk but nawk will not match case insensitive. [ -z $TRYAWKLIST ] && TRYAWKLIST="mawk gawk awk nawk" - # Find the correct command to wipe temporaly files after usage [ -z $TRYWIPELIST ] && TRYWIPELIST="destroy shred" +# Same for sed +[ -z $TRYSEDLIST ] && TRYSEDLIST="sed gsed" # From here, do not change stuff! @@ -97,6 +98,12 @@ function setawkcmd { info Using $AWK } +function setsedcmd { + SED=`findbin "$TRYSEDLIST"` + [ -z $SED ] && error No sed found in $PATH + info Using $SED +} + function setwipecmd { WIPE=`findbin "$TRYWIPELIST"` @@ -142,9 +149,9 @@ function pwedit () { gpg --decrypt $PWGREPDB > .database && \ vim --cmd 'set noswapfile' --cmd 'set nobackup' \ --cmd 'set nowritebackup' .database && \ - gpg --output .database.gpg -e -r $GPGKEYID .database && \ + gpg --output .$PWGREPDB -e -r $GPGKEYID .database && \ $WIPE .database && \ - mv .database.gpg $PWGREPDB && \ + mv .$PWGREPDB $PWGREPDB && \ [ -z $NOVERSIONING ] && $VERSIONCOMMIT } @@ -213,19 +220,33 @@ function fwipe () { } setawkcmd +setsedcmd setwipecmd BASENAME=`basename $0` ARGS=$@ -case $1 in - -o) - # Offlinemode - NOVERSIONING=1 - ARGS=${ARGS[@]:2} - ;; - *) -esac + +function set_opts () { + case $ARGS in + -o*) + # Offlinemode + NOVERSIONING=1 + ARGS=${ARGS[@]:2} + set_opts + ;; + -d*) + # Alternate DB + PWGREPDB=`echo $ARGS | $AWK '{ print $2 }'` + ARGS=`echo $ARGS | $SED "s/-d $PWGREPDB//"` + PWGREPDB=$PWGREPDB.gpg + set_opts + ;; + *) + esac +} + +set_opts $ARGS case $BASENAME in pwgrep) |
