kiekus/rp-set

29 lines
510 B
Bash
Executable File

#!/bin/sh
usage() {
echo "usage: $0 [-h] [VALUE | NAME=VALUE...]" >&2
}
while getopts h opt; do
case "$opt" in
h) usage; exit 0;;
?) usage; exit 255;;
esac
done
shift $(($OPTIND-1))
cleared=
obj=
i=1
for arg; do
[ -n "$cleared" ] || { set --; cleared=yes; }
case "$arg" in
*=*) key="${arg%%=*}"; value="${arg#*=}";;
*) key=.; value="$arg";;
esac
obj="$obj\"$key\": \$v$i,"
set -- "$@" --arg v$i "$value"
i=$(($i + 1))
done
exec jq -M -c "$@" ". + {$obj}"