Смотреть GNU без стирания предыдущих выходов

GNU watch - очень полезный инструмент для проверки вывода программы: он выполняет программу и показывает вывод в полноэкранном режиме каждые 2 секунды.

Иногда я не хочу, чтобы предыдущий вывод был удален, а скорее печатал построчно с отметкой времени. Для этого я использую bash-скрипты, такие как:

while true; 
    do echo -n "`date`   "; 
    ssh ubuntu@server -o ConnectTimeout=1 "uptime" ; 
    sleep 1; 
done

Существует ли инструмент, подобный watch , который может запускать команду и отображать ее вывод с отметкой времени в строке, не стирая предыдущий вывод?

3
задан 31 July 2014 в 17:41

1 ответ

Я сказал бы, что Вы нашли его в простых циклах, но Вы могли сделать много вещей отсюда:

Запись функция для обработки этого для Вас

function uberwatch {
    # call: uberwatch <interval> <command>
    while true; do
        "${@:2}";
        sleep $1;
    done
}

Вы могли поселить это где-нибудь вокруг Вашего ~/.bashrc.

Журнал вывод, чтобы зарегистрировать, но продолжать просматривать с watch

watch ... "command | tee -a watchlog.log"

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

4
ответ дан 31 July 2014 в 17:41

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

Похожие вопросы: