diff options
-rwxr-xr-x | addpass | 34 |
1 files changed, 34 insertions, 0 deletions
@@ -0,0 +1,34 @@ +#!/bin/bash + +source $HOME/.config/rofi-pass/config + +if [[ -n "$2" && "$1" == "--root" ]]; then + root="${2}" +else + : +fi + +OIFS=$IFS; +IFS="-"; + + +fields="$@"; +fieldsArray=($fields); +name=$(printf '%s\n' "${fieldsArray[@]}" | grep "name" | cut -d ' ' -f 2- | sed -e 's/[[:blank:]]\+$//') +read -p "Enter password for entry ${name}> " -s pass + +cd "${basedir}" +group=$(find -type d -not -iwholename '*.git*' -printf '%d\t%P\n' | sort -r -nk1 | cut -f2- | rofi -dmenu -p "Choose Group > ") + +echo -e "\n\nStoring file ${name} in group ${group}" + +printEntry () { + echo -e "$pass\n---" + for ((i=1; i<${#fieldsArray[@]}; ++i)); do + field=$(echo "${fieldsArray[$i]}" | awk -F' ' '{print $1}') + option=$(echo "${fieldsArray[$i]}" | cut -d ' ' -f 2- | sed -e 's/[[:blank:]]\+$//') + echo "$field: $option" | grep -Ev 'name:' #${fieldsArray[$i]}"; + done +} + +printEntry | pass insert -m "${root}/${group}/${name}" |