Dank an Melchior, Bernd und Eilert, hier mein Skripte gg. Jemand noch Verbesserungsvorschläge? 1. mit getopts: (Parameter müssen am anfang eingegeben werden, z.b gg -i sendm * #!/bin/bash if getopts i opt then #echo "opt: " $opt if [ $opt == i ] then grep $@|sed "s/$2/^[[31;1m&^[[m/gi" else grep $@|sed "s/$2/^[[31;1m&^[[m/g" fi else grep $@|sed "s/$1/^[[31;1m&^[[m/g" fi 2. von Melchior: hier das Skipt ohne getops: Die option -i ist beim sed immer dabei, kann beim Aufruf auch hinten stehen, z.B. gg sendm * -i . #!/bin/bash trap "echo -en '\\033[m'" 0 grep $@|sed "s/$1/^[[31;1m&^[[m/gi" Gruss ekkard Bernd Brodesser wrote:
Am besten
while getopts ailo: opt do
if [ opt == o ] then oarg=$OPTARG fi
irgendwelche Aktionen.
done
Eilert Brinkmann wrote:
Was "optstring" sein soll steht nirgendwo! Vielleicht -i -5 ... ,
Doch es steht genau da, wenn auch etwas knapp. Dieser optstring enthaelt einfach nacheinander die einzelnen Buchstaben (ohne das '-' davor), die als Optionen zulaessig sind. Und wenn eine Option noch ein Argument hat, dann ist hinter dem jeweiligen Buchstaben noch ein ':' einzufuegen. Zum Beispiel hat fuer ein Kommando mit der Syntax
bla [-ail] [-o output] file...
der optstring folgendes Aussehen: "ailo:". Damit sind dann z.B. die folgenden Aufrufe moeglich:
bla -i blub bla -al -o bla.out blub fasel bla -a -i blub ...
Wie das Auslesen funktioniert, ist eigentlich ausreichend beschrieben: Einfach in einer Schleife immer wieder aufrufen, bis der Rueckgabewert das Ende der Optionen signalisiert. Dann die verbleibenden Argumente verarbeiten.
--------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com