Вывод данных из цикла в скрипте в Conky

Linux

Есть такой скрипт c циклом внутри, который с помощью ping проверяет доступность интернет подключения, мне нужно получить вывод 8 или 10 строки в Conky. Если подключать стандартным способом, т.е. так ${exec ~/.scripts/check-con.sh}, Conky не запускается т.к. ждет завершения работы скрипта, а он работает, теоретически, бесконечно.

#! /bin/sh
#
DEST="ya.ru"
while [ 1 ]
do
STTS=`ping -c 3 -s 1000 $DEST |grep received | awk -F, '{print $2}' |awk '{print $1}' `
if [ $STTS -eq 3 ]; then
echo '${color1}online${color}'
else
echo '${color3}offline${color}'
fi
sleep 10
done

Или вот http://pastebin.com/62J6ZHj0

Примечание:
k_max, интересно, можно пример? Только если это не запись на жесткий диск, не хочу его сильно мучать.

Примечание:
chemikadze, спасибо буду пробовать.
P.S. Зачем регистрировался, мог бы лично передать =)

Примечание:
Vladimir Yakovlev, да сейчас у меня именно так и сделано, и что получается в итоге мне не нравиться, раз в 10 секунд запускается скрипт выполняет пинг и закрывается, через 10 секунд всё повторяется... так пускай лучше будет запускаться один скрипт с одним циклом.

Примечание:
Хм..., а как получить вывод только последней строки того самого /tmp/statusfil, или как заставить писать только одну строку?

Примечание:
Ой, туплю, вот же последняя строка tail -1 /tmp/statusfill :)

Всем спасибо, все ответы были полезны =)
Ответы:
как насчет того, чтобы сделать именованный канал  и заставлять скрипт записывать данные, а conky считывать оттуда?
Перенаправь вывод echo "..." >> /tmp/statusfil
conky пусть берет ${cat /tmp/statusfil}
@Финн man mkpipe
@k_max я сначала тоже так подумал, но tail тоже ждет завершения скрипта
Измени скрипт так, что бы он делал 1 запрос за запуск (убери while), а в conky запускай его через execi
${execi 1800 /home/jam/weather.sh}
http://conky.sourceforge.net/variables.html
http://jamsubuntu.blogspot.com/2008/09/conky.html
Тогда скрипт будет давать 1 результат, но conky будет запускать его с интервалом.
P.S. 100% доступность можно определить по exit-статусу ping. 0 - все хорошо, 1 - хоть что то потерялось.


14 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.