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