Colorizing Scripts SSH

H

hennerich

Jungspund
Hallöchen, grad ein Threed erledigt schon steht wieder eine neue Frage an.

Ich in meinem Script benutze ich folgenden Code um Warnmeldungen rot und Erfolgreiche Meldungen grün darzustellen:
#!/bin/bash

red='\E[31;47m'
green='\E[32;47m'
cecho
{
local default_msg="No message passed."

message=${1:-$default_msg}
color=${2:-$black}

echo -e "$color"
echo "$message"
tput sgr0
return
}

cecho "Warnung" $red
cecho "OK" $green

Soweit so gut. Wenn ich das Script aber in einer SSH Session ausführe wird aus irgendeinem Grund nicht das tput sgr0 nach dem cecho angewand. Es erscheint also aller folgender Text in der vorher definierten Farbe. Lokal funktioniert das. Woran kann das denn liegen ???

Henri
 
Was macht denn "tput sgr0"?
Warum verwendest du nicht alternativ
echo '\E[0m'
Das stellt doch auch wieder alles auf "normal" zurück.
 
Hallo hehejo,

tput Terminal initialisieren oder Datenbasis terminfo abfragen
Syntax: tput[ -Ttyp] capname[ parameter]...
Bespiele: tput clear - Bildschierm löschen
...
tput sgr0 - alle Attribute deaktivieren

aber ich versuch es mal nach deiner Methode.

Henri
 
Hab es ausprobiert, mit deiner Methode funktioniert es.
Danke

Henri
 

Ähnliche Themen

Displayport + externer Monitor zeigt bei startx nichts erst bei DVI

Script FreeIP

Zurück
Oben