【发布时间】:2018-06-27 19:11:05
【问题描述】:
cpu= $(mpstat | awk '$12 ~ /[0-9.]+/ { printf("%d%%",100 - $12) }' | cut -d. -f1)
如何抑制数字输出?
将% 字符串与数字进行比较时失败。
【问题讨论】:
-
#!/bin/sh cpu= $(mpstat | awk '$12 ~ /[0-9.]+/ { printf("%d%%",100 - $12) }' | cut -d.-f1) if [[ "$cpu" -ge 5 ]];然后 message="EC2 用户服务器中的 CPU 利用率已超出。\n当前使用的是 $cpu 。"回声 -e "$message" | mail -s "CPU 利用率监控" "xxx@yyy.com" fi
-
不要尝试将代码放入 cmets,如果需要澄清,请编辑问题。使用 Control-k 标记问题中的代码。
-
shell 分配中
=后面不能有空格。 -
另外,
idle始终是最后一列,所以你可以这样做mpstat|awk 'p{print int(100-$NF)}/%idle/{p=1}'