Ich möchte ein Shell-Skript machen, das effektiv die letzten n Zeilen von sterr und stin ergreift, die an die Konsole ausgegeben wurden. Ich habe einen Bildschirm Sitzung einen Prozess ausgeführt wird, wird es neu starten, wenn es über einen Hacky Endlosschleife stürzt:nimm letzte n Zeilen von der Konsolenausgabe
#!/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
Was ich brauche, ist für die 7. Zeile des Codes der letzten 10 oder so Linien von stderr und stdin zu greifen und fügen Sie sie in eine Protokolldatei
danke! eine kleine Änderung: ./run_some_process 2> & 1 | tail -10 >> logfle Sieht so aus, als ob stderr zu stdout gehen müsste, damit es zur Pipe kommt. – Hersheezy
Oh ja Entschuldigung, mein Fehler ^^ " –