zpass: new operation: add
This commit is contained in:
parent
98ce7db405
commit
a365ea2efb
3 changed files with 17 additions and 2 deletions
|
|
@ -16,6 +16,7 @@ usage()
|
|||
get <path...> Get values of targets
|
||||
copy <path> Copy the target value to clipboard. Shortcut 'x'
|
||||
set <path> <value> Set the value of target
|
||||
add <path...> Prompt for input value on paths
|
||||
new <path...> Generate a random password at target
|
||||
rm <path...> Delete targets
|
||||
mv <path...> Move targets
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ case $arg in
|
|||
c|create) create ;;
|
||||
t|tree) _tree "$@" ;;
|
||||
s|set) _set "$@" ;;
|
||||
a|add) add "$@" ;;
|
||||
n|new) new "$@" ;;
|
||||
g|get) get "$@" ;;
|
||||
x|copy) copy "$1" ;;
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ _tree()
|
|||
# $@ = paths
|
||||
get()
|
||||
{
|
||||
[ $# -lt 1 ] && return 1
|
||||
__NOPACK=y archive_exec sh -c '
|
||||
for N
|
||||
do
|
||||
|
|
@ -42,11 +43,12 @@ copy()
|
|||
# $@ = path
|
||||
new()
|
||||
{
|
||||
[ $# -lt 1 ] && return 1
|
||||
archive_exec sh -c "
|
||||
for N
|
||||
do
|
||||
mkdir -p \"\$(dirname \"\$N\")\" || exit $?
|
||||
{ tr -cd 'a-zA-Z0-9!-.' < /dev/urandom | head -c '$ZPASS_RAND_LEN' && echo; } > \"\$N\" || exit \$?
|
||||
mkdir -p \"\$(dirname \"\$N\")\" || exit \$?
|
||||
{ tr -cd 'a-zA-Z0-9!-.' < /dev/urandom | head -c $ZPASS_RAND_LEN && echo; } > \"\$N\" || exit \$?
|
||||
done
|
||||
" sh "$@"
|
||||
}
|
||||
|
|
@ -59,3 +61,14 @@ _set()
|
|||
shift 1
|
||||
archive_exec sh -c "mkdir -p '$(dirname "$ref")' && printf '%s\n' '$*' > '$ref'"
|
||||
}
|
||||
|
||||
add()
|
||||
{
|
||||
[ $# -lt 1 ] && return 1
|
||||
archive_exec true # prompt for the key
|
||||
for N
|
||||
do
|
||||
val=$(prompt_password "New value for $N") || return $?
|
||||
_set "$N" "$val" || return $?
|
||||
done
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue