farbige ausgabe von text

tzzaetaynzz

tzzaetaynzz

Tripel-As
[geloest] farbige ausgabe von text

hallo an alle,

ich habe in einen shellskript einige ausgaben mit einer anderen farbe (rot)
als der standardfarbe (gruen) versehen,
um sie hervor zu heben.

Code:
[COLOR="SeaGreen"]      1 #!/bin/bash
      2 read -ep "Text [ A `tput setaf 1` B `tput setaf 2` C]: " BLA
      3 echo $BLA[/COLOR]

die ausgabe sieht so aus:

Code:
[COLOR="SeaGreen"][admin@emma ~]$ ./test.sh 
Text [ A  [color=red]B[/color]  C]: A
A[/COLOR]

gibt es auch eine elegantere loesung?
 
Zuletzt bearbeitet:
du kannst die steuerzeichen variablen zuweisen
Code:
ROT=$(tput setaf 1)
GRUEN=$(tput setaf 2)
read -ep "Text [ A $ROT B $GRUEN C]: " BLA
 
ninguno schrieb:
ROT=$(tput setaf 1)
GRUEN=$(tput setaf 2)
danke fuer den tip!
stimmt das schafft uebersichtlichkeit
und ist leichter einzugeben.

leider habe ich ein paar probleme mit meinem
Code:
`put setaf 1`
code bekommen. tput greift - allem anschein nach - zu tief in die "terminfo"s ein.
in unterschiedlichen terminals (gmt, xterm, gnome-terminal) habe ich unterschiedliche ausgaben erhalten, die meisten sogar fehlerhaft, mit unerwarteten und unschoenen ausgaben, wie dieser hier.
Code:
[[32m]:

eigenlich sollte hier Pfad stehen.

nun habe ich eine escapesequenz programmiert.
Code:
#!/bin/sh
echo "^[[1;31m hallo ^[[0m"
die werde ich wohl, zwecks uebersichtlichkeit, wie bei dir beschrieben, in variablen einschreiben.

nochmals danke.
 
tzzaetaynzz schrieb:
...

nun habe ich eine escapesequenz programmiert.
Code:
#!/bin/sh
echo "^[[1;31m hallo ^[[0m"
die werde ich wohl, zwecks uebersichtlichkeit, wie bei dir beschrieben, in variablen einschreiben.

nochmals danke.

Hallo
Meinst du eventuiell eher sowas?
echo -e "\033[1;31m hallo \033[0m Welt"

Gruß Wofgang
 
Wolfgang_1 schrieb:
echo -e "\033[1;31m hallo \033[0m Welt"
hallo wolfgang,
nein ich meine eigentlich das:
Code:
read -ep "Pfad ^[[1;31m $PFAD_ALT ^[[0m: " PFAD
das mit dem echo habe ich aus einem anderen forum entnommen.
leider funktioniert es bei mir nicht (nur teilweise).

deinen tip - danke - habe ich auch versucht umzusetzten,
Code:
read -ep "Pfad \033[1;31m $PFAD_ALT \033[0m : " PFAD
mit diesem ergebnis:
Code:
Pfad \033[1;31m /home/admin/aktenordner/emma/quittungen-2004 \033[0m:

aber, nur in x-window terminals habe ich so (^[) oder so (\033) probleme.
auf der "echten console" (strg+alt+f1) habe ich eine ordentliche ausgabe,
zumindest bei dieser schreibweise ^[.

keine ahnung was ich falsch mache.

[12.02.2006]

hallo an alle,

nun habe ich eine loesung gefunden:
Code:
	echo -en "Pfad [\033[1;31m$PFAD_ALT\033[0m]: "
	read -ep '' PFAD
1. echo ohne zeilenumbruch und mit esc, gibt den prompttext aus
2. read ohne text '', setzt den curser hinter ": " von echo

somit sieht die ausgabe wie folgt aus

Pfad [/home/user/]:
 
Zuletzt bearbeitet:

Ähnliche Themen

CentOS 5.8 –SQL Abfrage– HTML wird generiert und daraus müssen mehrere Mails versendet werden

Shellskript - Fehler in Cron

Samba 4 Gast Zugang unter Ubuntu funktioniert nicht

Windows clients können nicht mehr auf lange laufendes System zugreifen

Variableninhalt wird nicht gespeichert

Zurück
Oben