获取具有特定angular色的节点名称

我如何获得具有特定angular色的节点列表?

它可以得到这样的东西:

for node in `knife node list`; do [[ -n "`knife node show $node | grep $ROLE_NAME`" ]] && echo $node done 

有没有办法做到这一点,而不用开打刀?

有一个解决scheme:

 knife search node "roles:$ROLE_NAME" 

从“刀子search”的标题输出到标准错误,所以你可以使用

 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