gpt4 book ai didi

linux - 相对比较表达式

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:52:52 25 4
gpt4 key购买 nike

在我的 shell 脚本中收集 CPU 利用率:

cpu=$(mpstat | awk '$12 ~ /[0-9.]+/ { print 100 - $12}');
echo "CPU Usage (%): $cpu"

输出: CPU 使用率(%):0.44%

此代码段遵循我脚本中的上述两个语句:

if [ ( $cpu >= 50|bc ) -ne 0 ]; then
/usr/sbin/sendmail "$recipients" <<EOF
subject: $subject
from: $from
`date`: CPU Utilisation above 50% on $IP
EOF
echo "Mail alert triggered."
fi

问题似乎与 >= 比较正在进行的语句中的语法相关。

错误:

./trialByCombat.sh: line 148: syntax error near unexpected token `$cpu'
./trialByCombat.sh: line 148: `if [ ( $cpu >= 50|bc ) -ne 0 ]; then'

我对此一无所知。空格、缩进、shell 脚本打败了我。

最佳答案

由于您使用的是 BASH,因此您可以使用 ((...)) 进行算术运算并避免调用 bc:

if (( cpu >= 50 )); then
/usr/sbin/sendmail "$recipients" <<EOF
subject: $subject
from: $from
`date`: CPU Utilisation above 50% on $IP
EOF
echo "Mail alert triggered."
fi

关于linux - 相对比较表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29508540/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com