PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [Bash] Case-Bedingungen auflisten


nalye
2010-07-08, 19:31:33
Bisher mache ich das immer Händisch, nach dem Motto


case $1 in
'eins')
anw_eins;
;;
'zwei')
anw_zwei;
;;
'drei')
anw_drei;
;;
'vier')
anw_vier;
;;
*)
echo $"Usage: $0 {eins|zwei|drei|vier}"
exit;
;;
esac


Geht das irgendwie, dass man die "eins", "zwei", "drei" und "vier" automatisch in die *)-Mitteilung unterbringen kann?
Was mir einfiel, wäre vorher ein entsprechendes 'grep' auf die Datei loszulassen, aber elganter geht´s bestimmt, oder? :)

nalye
2010-07-14, 23:42:34
So, habe eine Lösung gefunden. Für die, die es wissen wollen:


declare -f | sed -rn 's/^anw_(.+) *\(.+$/\1/p'


Aber nur gültig für Anweisungen, welche mit "anw_" beginnen!