GNU watch
- очень полезный инструмент для проверки вывода программы: он выполняет программу и показывает вывод в полноэкранном режиме каждые 2 секунды.
Иногда я не хочу, чтобы предыдущий вывод был удален, а скорее печатал построчно с отметкой времени. Для этого я использую bash-скрипты, такие как:
while true;
do echo -n "`date` ";
ssh ubuntu@server -o ConnectTimeout=1 "uptime" ;
sleep 1;
done
Существует ли инструмент, подобный watch
, который может запускать команду и отображать ее вывод с отметкой времени в строке, не стирая предыдущий вывод?
Я сказал бы, что Вы нашли его в простых циклах, но Вы могли сделать много вещей отсюда:
function uberwatch {
# call: uberwatch <interval> <command>
while true; do
"${@:2}";
sleep $1;
done
}
Вы могли поселить это где-нибудь вокруг Вашего ~/.bashrc
.
watch
watch ... "command | tee -a watchlog.log"
Вы все еще только видели бы последний просмотр, но Вы могли вырыть через исторический журнал, если бы Вы должны были.