如何在别名或函数中表达多个键值对?

How to express multiple key value pairs in an Alias or function?

看看这个命令:

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

我尝试了以下方法:

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

但显然这是行不通的。

我希望最终能够输入如下内容:

vput {myPath} key1 value1 key2 value2 keyN valueN

据我所知,没有简单的方法可以做到。
您需要手动重建 args,例如使用数组、循环和移位:

vput() {
  args=("")
  shift

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

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