Hallo Christian! > 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. > > 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. > Fuer Hin- und Verweise waere ich dankbar. Bash 3.x kann regex. Beispiel aus meinen Backup-Skript für unstable: DATA_DIRS=( $(< $CONFIG_FILE) ) for DIR in ${DATA_DIRS[*]}; do if [[ $DIR =~ "mon|tue|wed|thu|fri|sat|sun" ]]; then WEEKDAY=$DIR elif [[ $DIR =~ "^/(.*)" ]]; then ... elif [[ $DIR =~ "^mysql$" ]]; then ... fi done das gleiche für Sarge: DATA_DIRS=( $(< $CONFIG_FILE) ) for DIR in ${DATA_DIRS[*]}; do ERR=0 #if [[ $DIR =~ "mon|tue|wed|thu|fri|sat|sun" ]]; then echo $DIR | egrep -i "mon|tue|wed|thu|fri|sat|sun" > /dev/null && ERR=1 #elif [[ $DIR =~ "^/(.*)" ]]; then echo $DIR | egrep "^/(.*)" > /dev/null && ERR=2 #elif [[ $DIR =~ "^mysql$" ]]; then echo $DIR | egrep "^mysql$" > /dev/null && ERR=3 if [[ $ERR = 1 ]]; then ... elif [[ $ERR = 2 ]]; then ... elif [[ $ERR = 3 ]]; then ... fi done config hierfür: /var/www/typo3 mysql Sun /etc Vielleicht hilft Dir das etwas, wenn auch spät CU Michael -- ,''`. Michael Ott, e-mail: michael at zolnott dot de : :' : Debian SID on Thinkpad T43: `. `' http://www.zolnott.de/laptop/ibm-t43-uc34nge.html `-
Attachment:
pgpAzAm7vhssA.pgp
Description: PGP signature