![使用 awk 和 if 进行管道 for 循环](https://linux22.com/image/195699/%E4%BD%BF%E7%94%A8%20awk%20%E5%92%8C%20if%20%E8%BF%9B%E8%A1%8C%E7%AE%A1%E9%81%93%20for%20%E5%BE%AA%E7%8E%AF.png)
我正在尝试创建一个 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