bash - 遍历关联数组并在内容上发送一封邮件
问题描述
下面是我目前正在工作的脚本中的片段。
AArr是一个关联数组,它保存队列名称及其对应的值(整数值),对它的基本迭代(for)给出以下输出:
for i in "${!AArr[@]}"
do
echo "NUMBER COUNT ON $i' is : ${AArr[$i]}"
done
NUMBER COUNT ON queue.hxi.1 is: 123
NUMBER COUNT ON queue.rui.4 is: 12
NUMBER COUNT ON queue.hxi.5 is: 35
NUMBER COUNT ON queue.fer.5 is: 1000
NUMBER COUNT ON queue.dcer.2 is: 45
我想迭代关联数组,但只发送一封上述格式的电子邮件,而不是为每个迭代的键发送邮件。我对实现这一目标的逻辑有点困惑?任何输入都会非常有帮助。谢谢。
解决方案
为什么不能将for
循环的输出通过管道传递给mail
命令。该命令很可能可以通过管道从标准输入中读取。所以你需要做的就是
for entry in "${!AArr[@]}"; do
printf "NUMBER COUNT ON %s is : %d\n" "$entry" "${AArr[$entry]}"
done | mail
推荐阅读
- vue.js - 无法在 Vue.js 中单击以按我想要的方式工作
- javascript - 尝试切换 2 个 div
- c# - 单击所有对象时自动更改场景 Unity
- php - 在 php 中附加 html 元素,如 jQuery append
- javascript - 使用 Jquery 掩码和 vue 在另一个 div 中单击后输入值发生变化
- java - 为什么我的 Java 静态块没有执行?(非常简单的例子。其他答案似乎不适用。)
- azure - Azure AKS 节点重启警报
- wordpress - Slider Revolution 插件的 WP-CLI 错误
- r - 向山脊线图添加显着性括号
- amazon-web-services - VPC 终端节点私有链接和安全组