-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi Liste, hi Kimmo K. Elo schrieb:
Hallo Harry, hallo Liste,
cat /etc/services|sed 's/ */ /' |\ while read NAME PORT REST do if [ "a$NAME" = "a$WHAT" -a "a$PORT" = "a$PPORT" ] then return 1 fi done
Hier statt return 0 folgendes: RET_VAL=$? return $RET_VAL
So sollte es funktionieren.
Es funktioniert, aber irgendwie stelle ich mir die Frage warum es mit dem return direkt aus der while-Schleife heraus nicht klappt. Bisher war ich der Meinung, dass man mit return aus der Funktion rausspringt und mit break die Schleife beendet :o(
Ich vermute, das ganze hängt damit zusammen, dass der erste 'return 1' nur die while-Schleife beendet, so dass 1 das return-Wert der Schleife ist. Danach wird aber nochmals 'return 0' ausgeführt. Wird aber die While-Schleife erfolglos durchgeführt, ist das return-Wert gleich 0.
Meine Lösung speichert das return-Wert der While-Schleife und gibt dieses an den zweiten 'return' als Parameter weiter. Wie gesagt es funzt .... , danke für den Tipp
Gruß Kimmo Grüße Harry -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.5 (MingW32)
iD8DBQFEhfHz7ttRafA1ej8RAqlbAKCNsyXvl92Ny4KiEsbeEmPjhYMy1QCfa0jC sG1JLOWwSZaMk47wkrwGgPk= =SmIx -----END PGP SIGNATURE----- -- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com