You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
510 B
28 lines
510 B
#!/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}"
|
|
|