使用 awk 和 if 进行管道 for 循环

使用 awk 和 if 进行管道 for 循环

我正在尝试创建一个 cron 作业来检查某些工作计算机的状态并触发 webhook:

它有效,但我不确定这是最好的方法:

for i in $(oc get nodes | awk 'FNR>1 {print $2}');do if [[ $i != 'Ready' ]];then <TRIGGER_WEBHOOK>;fi;done

输出oc get nodes

# oc get nodes
NAME                         STATUS   ROLES    AGE    VERSION
master1                      Ready    master   27h    v1.20.0+bafe72f-1054
....
worker4                      Ready    worker   10h    v1.20.0+bafe72f-1054

任何改进它的建议。谢谢

答案1

我可以看到我可能会改变的一件事是删除if

for i in $(oc get nodes | awk 'FNR > 1 && $2 != "Ready" { print $2 }'); do
    <TRIGGER API>
done

相关内容