Hallo, ich schreibe zurzeit ein Shell Skript für bioinformatische Analysen. Bei der Abarbeitung der Befehle wird automatisch ein Logfile generiert. Um in dem Logfile beispielsweise festzuhalten, wann die Analyse durchgeführt wurde, habe ich folgendes zum Skript hinzugefügt:
1 2 3 | echo "Pipeline.sh" >>/NAS/$ID.log echo "$Datum; $NAMEN" >>/NAS/$ID.log echo "Lauf: $LAUF; Auftrag: $ID; Proben: $PROBEN.">> /NAS/$ID.log |
Die Variablen NAMEN, LAUF und ID werden zuvor durch read abgefragt:
1 2 | read -p "Bitte geben Sie Ihren Namen ein:" NAMEN read -p "Bitte geben Sie die ID des Laufs ein:" LAUF |
Nun zu meiner Frage: ich möchte gerne, wie hier beschrieben https://phlow.de/magazin/terminal/echo/ das Logfile etwas farblicher gestalten. Zum Beispiel möchte ich das, was am Anfang übertragen wird (Also Name, Lauf usw, also quasi die Überschrift) in fett im Logfile stehen haben.
Um zu testen, ob das überhaupt funktioniert, habe ich folgendes Skript geschrieben (in Anlehnung an das, was auf der oben genannten Seite erklärt wird):
1 2 3 4 5 6 7 8 9 10 | reset="\x1B[0m" yellow="\x1b[0;33m" boldyellow="\x1b[1;33m" white="\x1b[0;37m" boldwhite="\x1b[1;37m" grey="\x1b[1;30m" fett="\033[1m" echo -e "Das ist ${yellow}gelb, ${boldyellow}fettes gelb, ${white}weiß oder ${grey}grau. ${reset}Und nach dem Rest ist der Text wieder normal bzw. ${fett}fett geschrieben." echo -e "Das ist ${yellow}gelb, ${boldyellow}fettes gelb, ${white}weiß oder ${grey}grau. ${reset}Und nach dem Rest ist der Text wieder normal bzw. ${fett}fett geschrieben." >>/NAS/logfile.txt |
In der Shell sieht das alles perfekt aus; leider aber nicht im Logfile. Dort sieht es dann so aus: Das ist [0;33mgelb, [1;33mfettes gelb, [0;37mweiß oder [1;30mgrau. [0mUnd nach dem Rest ist der Text wieder normal bzw. [1mfett geschrieben.
Ist es überhaupt möglich Farben in einer Textdatei, die ich mit dem gedit Texteditor öffne zu "sehen"? Müsste ich hierfür vielleicht einen anderen texteditor verwenden?