Existe uma solução:
knife search node "roles:$ROLE_NAME"
Como posso obter uma lista de nós com uma função específica?
Poderia ser algo assim:
for node in 'knife node list'; do
[[ -n "'knife node show $node | grep $ROLE_NAME'" ]] && echo $node
done
Existe uma maneira de fazer isso via faca sem sobrecarga?
O cabeçalho da "busca por faca" é enviado para stderr, então você pode usar
knife search "role:$ROLE_NAME" -i 2>/dev/null
apenas retorna uma lista de nós. Útil se você quiser envolvê-lo em uma declaração for:
for n in $(knife search "role:$ROLE_NAME" -i 2>/dev/null); do
// do something here
done