Скрипт bash: получение простоя и сравнение его

Почему сжатие if не сравнивает значение?

idle_time=exec sudo -u home xprintidle

if [ "$idle_time" -ge 6000 ]
  then
  echo "hi"
fi

это не работает так

1 ответ

Решение

Прежде всего, я перешел на строку, которую вы используете для запуска xprintidle от имени другого пользователя. После этого я изменил условие if, так как также произошла ошибка.

#!/bin/bash
# actually assign the variable
idle_time=$(idle_time=exec sudo -u home xprintidle)
# adapted if clause to actually match (see https://stackru.com/questions/18668556/comparing-numbers-in-bash) 
if [ "$idle_time" -gt "6000" ]; then
    echo "hi"
fi
Другие вопросы по тегам