Скрипт блокировки заставки
Я хотел бы автоматизировать запрет экранной заставки при использовании "плагина-контейнера" Firefox для флеш-плеера в KDE4. Я сам не писал оригинальный скрипт, но немного исправил.
#!/bin/sh
# Simple script to demonstrate D-Bus usage
while true
do
# read firefox plugin-container cpu usage
ret=$(top -b -n1 -u "$(whoami)" | gawk '$12 ~ /plugin-containe/ { SUM += $9 }; END { print SUM }')
if [ -n "$ret" ] && [ "$ret" -gt 15 ]; then
idle_time=`qdbus org.kde.screensaver /ScreenSaver GetSessionIdleTime`
if [ "$idle_time" -gt 50 ]; then
qdbus org.kde.screensaver /ScreenSaver SimulateUserActivity
fi
fi
sleep 50
done
Теперь, когда я запускаю скрипт, я получаю эту ошибку:
/home/geo/bin/plugin-containe: line 7: [: 68.75: integer expression expected
Я пытался получить верхнее целое число, но не смог.
Что я могу сделать, чтобы исправить?
С уважением Жорж
1 ответ
Решение
Если awk
вывод является причиной нецелого значения, то вы можете использовать awk int()
функция для усечения значения SUM
до целочисленного значения (т.е. int(SUM)
).