ДМИТРИЙ МАЛИКОВ Asked: 2012-06-26 04:05:30 +0800 CST2012-06-26 04:05:30 +0800 CST 2012-06-26 04:05:30 +0800 CST 获取具有特定角色的节点名称 772 如何获取具有特定角色的节点列表? 它可以用这样的东西得到: for node in `knife node list`; do [[ -n "`knife node show $node | grep $ROLE_NAME`" ]] && echo $node done 有没有办法在没有 bash 开销的情况下通过 knife 来做到这一点? chef knife 2 个回答 Voted Best Answer ДМИТРИЙ МАЛИКОВ 2012-06-26T04:33:11+08:002012-06-26T04:33:11+08:00 有一个解决方案: knife search node "roles:$ROLE_NAME" Gary 2017-05-23T06:52:48+08:002017-05-23T06:52:48+08:00 “knife search”的标头输出到 stderr,因此您可以使用 knife search "role:$ROLE_NAME" -i 2>/dev/null 只返回一个节点列表。如果您想将其包装到 for 语句中,则很有用: for n in $(knife search "role:$ROLE_NAME" -i 2>/dev/null); do // do something here done
有一个解决方案:
“knife search”的标头输出到 stderr,因此您可以使用
只返回一个节点列表。如果您想将其包装到 for 语句中,则很有用: