Mailinglist Archive: opensuse-de (2226 mails)

< Previous Next >
Re: Shellscript-Problem: /bin/sh Funktion while return
  • From: Harry Rüter <harry_rueter@xxxxxx>
  • Date: Tue, 06 Jun 2006 23:21:55 +0200
  • Message-id: <4485F1F3.1070500@xxxxxx>
-----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@xxxxxxxx
Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken
Sie eine Mail an: suse-linux-help@xxxxxxxx

< Previous Next >
Follow Ups
References