В моей раковине-скрипт для сбора загрузки процессора:Относительное выражение сравнения
cpu=$(mpstat | awk '$12 ~ /[0-9.]+/ { print 100 - $12}');
echo "CPU Usage (%): $cpu"
Выход:CPU Usage (%): 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-скрипт бьют меня.
Глядя на этом я должен быть. '$ cpu> = 50' не имеет смысла, поскольку он не находится в тестовой конструкции. –