OT: farbige ausgabe mittels "echo"
Hallo allerseits, ich denke doch mal, daß man mit dem Shell-Befehle "echo" auch farbige Texte auf die Konsole zaubern kann. Nur wie? Bin für jeden Tip dankbar. Bye Jürgen -- Dr.rer.nat. Juergen Vollmer, Viktoriastrasse 15, D-76133 Karlsruhe Tel: +49(721) 92 04 87 1 Fax: +49(721) 92 04 87 2 Juergen.Vollmer@informatik-vollmer.de www.informatik-vollmer.de Internet-Telefonie: www.skype.com Benutzer: juergen.vollmer
Am Mittwoch, 28. Februar 2007 09:24 schrieb Dr. Jürgen Vollmer:
Hallo allerseits,
ich denke doch mal, daß man mit dem Shell-Befehle "echo" auch farbige Texte auf die Konsole zaubern kann. Nur wie?
Bin für jeden Tip dankbar.
Hallo! Such mal weiter unten den Thread "prompt um Standort des Rechners ergänzen" und innerhalb des Threads den Beitrag von Martin Ereth. Der sollte Dir helfen. Gruß Burkhard -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Dr. Jürgen Vollmer schrieb:
ich denke doch mal, daß man mit dem Shell-Befehle "echo" auch farbige Texte auf die Konsole zaubern kann. Nur wie?
Hi, http://www.pro-linux.de/news/2002/4951.html http://www.linux-infopage.de/show.php?page=berichte-farbigeshell Gruss Lars http://blog.linuri.de http://www.wandern-verzeichnis.de -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Mittwoch, 28. Februar 2007 09:24 schrieb Dr. Jürgen Vollmer:
Hallo allerseits,
ich denke doch mal, daß man mit dem Shell-Befehle "echo" auch farbige Texte auf die Konsole zaubern kann. Nur wie?
Bin für jeden Tip dankbar.
Jürgen, ich hab mir das mal gespeichert.. Farbige (color, colour) Text Consolen ausgabe: http://linuxreviews.org/beginner/abs-guide/en/x14513.html#COLORECHO (Der Link schein leider tot..) Color Foreground Background black 30 40 red 31 41 green 32 42 yellow 33 43 blue 34 44 magenta 35 45 cyan 36 46 white 37 47 Example 34-10. Echoing colored text #!/bin/bash # color-echo.sh: Echoing text messages in color. # Modify this script for your own purposes. # It's easier than hand-coding color. black='\E[30;47m' red='\E[31;47m' green='\E[32;47m' yellow='\E[33;47m' blue='\E[34;47m' magenta='\E[35;47m' cyan='\E[36;47m' white='\E[37;47m' alias Reset="tput sgr0" # Reset text attributes to normal #+ without clearing screen. cecho () # Color-echo. # Argument $1 = message # Argument $2 = color { local default_msg="No message passed." # Doesn't really need to be a local variable. message=${1:-$default_msg} # Defaults to default message. color=${2:-$black} # Defaults to black, if not specified. echo -e "$color" echo "$message" Reset # Reset to normal. return } # Now, let's try it out. # ---------------------------------------------------- cecho "Feeling blue..." $blue cecho "Magenta looks more like purple." $magenta cecho "Green with envy." $green cecho "Seeing red?" $red cecho "Cyan, more familiarly known as aqua." $cyan cecho "No color passed (defaults to black)." # Missing $color argument. cecho "\"Empty\" color passed (defaults to black)." "" # Empty $color argument. cecho # Missing $message and $color arguments. cecho "" "" # Empty $message and $color arguments. # ---------------------------------------------------- echo exit 0 Perl-Farbig: use Term::ANSIColor; print color 'bold blue'; print "This text is bold blue.\n"; print color 'reset'; print "This text is normal.\n"; print colored ("Yellow on magenta.\n", 'yellow on_magenta'); print "This text is normal.\n"; print colored ['yellow on_magenta'], "Yellow on magenta.\n"; -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Mit, 28 Feb 2007, Dr. Jürgen Vollmer schrieb:
ich denke doch mal, daß man mit dem Shell-Befehle "echo" auch farbige Texte auf die Konsole zaubern kann. Nur wie?
'man console_codes' beschreibt diverse Escapesequenzen. Für Farben z.B. (die Varianten mit 'bold' fehlen): ==== ~/bin/lstermcolors ==== #! /bin/bash usage() { echo -e "USAGE: lsttermcolors [-a | -f | -b | -h ]\n" \ " [ --all ] [ --foreground ]\n" \ " [ --background ] [ --help ]"; exit 1; } do_fg() { for j in 00 01; do for i in `seq 30 39`; do echo -e $i "\033[${j};${i}mFarbe\033[0m" done done } do_bg() { for j in 00 01; do for i in `seq 40 49`; do echo -e "$i" "\033[${j};${i}mFarbe\033[0m" done done } do_all(){ if test $TERM = "xterm"; then do_xterm; exit 0; fi k=0 for i in `seq 30 39`; do for j in `seq 40 49`; do # gleichen Vorder- und Hintergrund überspringen if [ $j -eq $[ i + 10 ] ]; then continue fi echo -en $i $j "\033[${i};${j}mFarbe\033[0m\t" k=$[k+1] if test $[k % 4] -eq 0; then echo; fi done done echo } do_xterm() { echo "Xterm only:" k=0 for i in `seq 30 39; seq 90 99`; do for j in `seq 40 49; seq 100 109`; do # gleichen Vorder- und Hintergrund überspringen if [ $j -eq $[ i + 10 ] ]; then continue fi printf "% 3i % 4i:" $i $j echo -en "\033[${i};${j}mFarbe\033[0m\t" k=$[k+1] if test $[k % 4] -eq 0; then echo; fi done done echo } case "$1" in -a|--all) do_all;; -f|--foreground) do_fg;; -b|--background) do_bg;; *) usage;; esac exit 0 ==== HTH, -dnh, Zufallssig :) --
Nich so kompliziert. Männer können doch nur 16 Farben unterscheiden. Während Frauen für dieselbe Farbe mindestens 16 verschiedene Namen erfinden? -- 'Princess' und M. Bienwald -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (5)
-
Burkhard Schichtel
-
David Haller
-
Dr. Jürgen Vollmer
-
gooly@gmx.at
-
LarsH