Fork Prozesse in einem Skript mit unterschiedlichen Farben für jede Prozessausgabe

379
Carl

Ich habe ein Skript, das 4 Ordner unterstützt.

Da sie völlig unabhängig sind, gebe ich den Ordnerpfad an eine Funktion weiter und verzichte dann auf diese Funktion. Es funktioniert, aber die Ausgabe an die Konsole ist eine unlesbare Katastrophe.

Das Hauptproblem ist, dass ich nicht sagen kann, welche Ordner bearbeitet wurden und welche noch laufen.

Eine Möglichkeit, um dieses Problem nachzudenken, besteht darin, der Ausgabe eine Farbe zuzuweisen, die auf dem Ordner Rot, Grün, Blau und Gelb basiert. Die Idee ist, dass, wenn nur rot ausgegeben wird, nur der Ordner 1 noch verarbeitet wird.

Alle meine Googles über das Einstellen von Farben in bash beziehen sich auf die Verwendung von Echo oder das Übergeben der Farbe für bestimmte Funktionen wie grep und ls.

Gibt es eine Möglichkeit, die Farbe zu Beginn einer Funktion einzustellen ?

set_color() { ?? }  process_folder() { set_color $2 ... }  #in a loop, process my folders using process_folder $folder $color 
1
Entschuldigung, ich habe ein knappes Votum abgegeben, es ist ein bash-Skript, das zum Thema steht. Es tut uns leid! Dave vor 11 Jahren 0

1 Antwort auf die Frage

0
okobaka

Gibt es eine Möglichkeit, die Farbe zu Beginn einer Funktion einzustellen?

Es ist möglich,

echo -e "\e[00;31mRED" 

Aber es könnte Farben mischen und das Lesen schwieriger machen. Färben Sie nur Ihre Ausgabe.

echo -e "\e[00;31mRED\e[00m"