sekrit: bake in clipboard support with cp subcommand
This commit is contained in:
parent
540f26be40
commit
4657adf4b1
2 changed files with 52 additions and 11 deletions
|
@ -30,6 +30,7 @@ usage()
|
|||
cat - <<. >&2
|
||||
Usage:
|
||||
${0##*/} add key [value ...]
|
||||
${0##*/} cp [-k] key
|
||||
${0##*/} gen [-l length] [chars]
|
||||
${0##*/} get key
|
||||
${0##*/} has key
|
||||
|
@ -82,6 +83,30 @@ sekrit_add()
|
|||
chmod -- 400 "$f"
|
||||
}
|
||||
|
||||
sekrit_cp()
|
||||
{
|
||||
command -v xclip >/dev/null 2>&1 ||
|
||||
err "xclip required for clipboard support"
|
||||
|
||||
OPTIND=1
|
||||
rmlastnl=-rmlastnl
|
||||
while getopts k flag; do
|
||||
case "$flag" in
|
||||
k) rmlastnl=
|
||||
;;
|
||||
*) usage
|
||||
;;
|
||||
esac
|
||||
done
|
||||
shift $((OPTIND - 1))
|
||||
|
||||
[ $# -eq 1 ] || usage
|
||||
key=$1
|
||||
|
||||
sekrit_get "$key" |
|
||||
xclip $rmlastnl -loops 1 -quiet -selection clip 2>/dev/null
|
||||
}
|
||||
|
||||
sekrit_gen()
|
||||
{
|
||||
len=43
|
||||
|
@ -113,7 +138,7 @@ sekrit_get()
|
|||
{
|
||||
[ $# -eq 1 ] || usage
|
||||
key=$1
|
||||
check_key "$1"
|
||||
check_key "$key"
|
||||
shift
|
||||
|
||||
f=$SEKRIT_DIR/$key.gpg
|
||||
|
@ -125,7 +150,7 @@ sekrit_has()
|
|||
{
|
||||
[ $# -eq 1 ] || usage
|
||||
key=$1
|
||||
check_key "$1"
|
||||
check_key "$key"
|
||||
shift
|
||||
|
||||
[ -f "$SEKRIT_DIR/$key.gpg" ]
|
||||
|
@ -164,6 +189,7 @@ mkdir -p "$SEKRIT_DIR"
|
|||
|
||||
case "$cmd" in
|
||||
add) sekrit_add "$@" ;;
|
||||
cp) sekrit_cp "$@" ;;
|
||||
gen) sekrit_gen "$@" ;;
|
||||
get) sekrit_get "$@" ;;
|
||||
has) sekrit_has "$@" ;;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue