blob: 102aade4c8de70fb1b52eed6509b01b8b5fe7012 (
plain) (
tree)
|
|
#!/bin/sh
set -f
[ "$1" = get ] || exit
while read -r line; do
case $line in
protocol=*)
protocol=${line#*=} ;;
host=*)
host=${line#*=} ;;
username=*)
user=${line#*=} ;;
esac
done
output=
#shellcheck disable=2154
for arg in \
"${protocol:+$protocol://}$host" \
"$host" \
"${host2=${host%.*}}" \
"${host2#*.}"
do
# exit on first good result
[ -n "$user" ] && output=$(rbw get --full "$arg" "$user") && break
output=$(rbw get --full "$arg") && break
done || exit
printf '%s\n' "$output" | sed -n '
1{ s/^/password=/p }
s/^Username: /username=/p
s/^URI: /host=/p
'
|