захватить последние n строк из вывода консоли

Я хочу создать сценарий оболочки, который будет эффективно захватывать последние n строк из sterr и stin, которые были выведены на консоль. У меня есть сеанс экрана, в котором запущен процесс, который перезапустит его, если он выйдет из строя с помощью хакерского бесконечного цикла:

#!/bin/bash
#This script will be started in a screen session
counter=0
while [ $counter -lt 10 ]; do
    ./run_some_process;
     last_output=#GRAB PREVIOUS OUTPUT FROM CONSOLE HERE AND LOG TO FILE
     echo -e "$last_output" >> mylog.txt;
    sleep 5; #sleep for a few seconds before restarting
done

Мне нужно, чтобы 7-я строка кода захватила последние 10 или около того строк из stderr и stdin и добавила их в файл журнала

21
задан Matthew Rankin 17 December 2010 в 04:26
поделиться