Re: [OT] bash/regex-Problem
Am Freitag, den 05.05.2006, 16:35 +0200 schrieb Christian Schmidt:
> ich habe mich hier irgendwie festgehirnt. Und zwar moechte ich in
> einem Shellskript mittels einer eigentlich einfach sein muessenden
> if-Abfrage ueberpruefen, ob ein String den Inhalt a oder b hat.
> Das mit dem "oder" bekomme ich aber nicht auf die Reihe, und passende
> Suchbegriffe fuer Google scheinen sich mir heute auch zu entziehen.
man test
Advanced Bash Scripting Guide (LDP)
> Minimalbeispiel:
>
> #! /bin/sh
> leiter="schmidt"
> if [ "$leiter" = "[schulze|schmidt]" ]; then
> echo "Stimmt"
> else
> echo "Stimmt nicht"
> fi
>
> Das Skript gibt immer "Stimmt nicht" aus, und ich blicke einfach nicht
> mehr warum.
Das ist ein String-Vergleich und "$leiter" != "[schulze|schmidt]". Was
du willst, sieht eher so aus:
if [ "$leiter" = "schulze" -o "$leiter" = "schmidt" ]; then [..]
oder
if [ "$leiter" = "schulze" ] || [ "$leiter" = "schmidt" ]; then [..]
Bin kein Bash-Profi, so dass ich eine mögliche Regex dafür außen vor
lassen will. Aber o.g. Anleitung enthält auch ein Kapitel über Reguläre
Ausdrücke.
MfG Daniel
Reply to: