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
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
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
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";
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 :)