Archiv verlassen und diese Seite im Standarddesign anzeigen : probleme mit "test"
meinereinerseiner
15-01-2003, 12:19
hi,
kann ich mit test eine variable mit einem string auf teilweise enthaltene
übereinstimmungen testen, quasi:
#!/bin/sh
var1=CLIS
if [ $var1 irgendwo in $1 ]; then
echo " $var1 in $1 gefunden, Verabeitung abgebrochen."
exit 1
else
.
.
.
fi
exit 0
wenn ich dem script testCLID.123 übergebe soll es das nach dem esle abarbeiten.
bei testCLIS.123 abbrechen.
der tom
meinereinerseiner
15-01-2003, 17:03
mit viel suchen und basteln kam ich dann zu dieser lösung:
#!/bin/sh
var1=CLIS
if [ -n "$1" -a "`echo $1 | awk '/'var1'/ { print "no"; next; } { print "ok" }'`" = "ok" ]; then
.
.
.
else
echo " $var1 in $1 gefunden, Verabeitung abgebrochen."
exit 1
fi
geht wie immer bestimmt auch einfacher ..... aber so gehts wenigstens überhaupt erstmal
der tom
Hi,
so geht´s ein bischen einfacher :
if [ -n "$(echo $1 | grep $var)" ]
then
echo gefunden
else
echo nicht gefunden
fi
Gruß micha
meinereinerseiner
15-01-2003, 19:18
das finde ich jetzt schon etwas doof - weil viel zu einfach *lol*
Original geschrieben von micha
Hi,
so geht´s ein bischen einfacher :
if [ -n "$(echo $1 | grep $var)" ]
then
echo gefunden
else
echo nicht gefunden
fi
oder so:
#!/bin/sh
var1=CLIS
if echo "$1" | grep -q "$var1";then
echo "gefunden"
else
echo "nicht gefunden"
fi
damit werden evtl. fehlermeldungen korrekt behandelt.
der parameter für grep sollte aber in jedem fall gequoted werden.
-j
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.