Скрипт блокировки заставки

Я хотел бы автоматизировать запрет экранной заставки при использовании "плагина-контейнера" 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)).

Другие вопросы по тегам