Как выразить несколько пар ключ-значение в псевдониме или функции? - PullRequest
0 голосов
/ 23 сентября 2019

Посмотрите на эту команду:

vault kv put {mypath) key1=value1 key2=value2 ... keyN=valueN

Я попробовал следующее:

vput() {
    vault kv put $1 '@'='@'
}

, но, очевидно, это не работает.

Я хочу бытьвозможность в конечном итоге напечатать что-то вроде этого:

vput {myPath} key1 value1 key2 value2 keyN valueN

1 Ответ

4 голосов
/ 23 сентября 2019

Насколько я знаю, простого способа сделать это не существует.
Вам необходимо перестроить аргументы вручную, например, используя массив, цикл и сдвиг:

vput() {
  args=("$1")
  shift

  while (( $# )); do
    args+=("$1=$2")
    shift 2
  done

  vault kv put "${args[@]}"
}
...