如何在 shell 脚本中修改节点的属性?

How can I modify a node's attributes in a shell script?

我一直在使用 knife node edit [node_name] 编辑节点,但是,我想节省一些时间并编写一个脚本,自动将属性集添加到许多节点清单。

我想通过某种方式将以下内容添加到 "normal": bash 脚本中的 {} 部分。

"borg": {
  "client": {
    "backup_server_override": "10.140.4.141"
  }
},

是否有命令或方法可以在不使用 knife node edit 和避免交互式编辑器的情况下执行此操作?

查看 knife execnodes.transform,可能会满足您的要求:

knife exec -E 'nodes.transform ("*:*") {|n| n.normal["whatever"] = "something" }'

警告:"*:*" 将抓取所有节点并对它们应用变换函数。小心