Hi, ich schlage mich hier momentan mit einem init-skript rum und habe eine Verständnisfrage. Es geht um das skript /etc/init.d/boot.localfs. OS is SLES 11 SP2 64bit. Zum Verständnis habe ich eine Menge echos in das skript eingebaut. Hier mal die entsprechenden Schnipsel: ############################### list_missed () { local dev line local mount_opts="-t $nofs,nonone -O no_netdev" echo -e "\nfunction list_missed, line 87, mount_opts= $mount_opts" echo -e "\nZeile 89: Jetzt wird gemounted: \n" ... } ################################## ################################## wait_for_udev () { local dev local -i timeout=1200 local missing=$(list_missed) echo -e "\nfunction wait_for_udev, Zeile 114, missing: $missing" test -n "$missing" || return 0 echo -e 'Waiting for $missing (Zeile 118)' echo -e "\n" echo -n "Waiting for $missing " while test $timeout -gt 0 ; do usleep 25000 ... } ################################## und ################################## case "$1" in start) ... wait_for_udev ... ################################## Die entsprechende Ausgabe in /var/log/boot.msg sieht dann wie folgt aus: ################################## <notice -- Jun 12 18:04:05.263822000> boot.localfs start function wait_for_udev, Zeile 114, missing: function list_missed, line 87, mount_opts= -t nonfs,nonfs4,nosmbfs,nocifs,noafs,noncpfs,nosysfs,noproc,nocgroup,nocpuset,nodevtmpfs,nodebugfs,nosecurityfs,no devpts,nopstore,nonone -O no_netdev Zeile 89: Jetzt wird gemounted: Zeile 89: line: /dev/vg_1/lv_1 on /virtuelle_maschinen type ext3 (rw,acl,user_xattr) Zeile 92: dev: /dev/vg_1/lv_1 Zeile 92: line: /dev/vg_1/lv_1 on /virtuelle_maschinen type ext3 (rw,acl,user_xattr) ... ################################### Ich versteh das folgendermaßen: Da die Maschine bootet, wird das Skript mit "start" aufgerufen. Da wird relativ früh die Funktion wait_for_udev aufgerufen. Dort kommt die Zeile "local missing=$(list_missed)". Ich versteh das so, daß die Funktion list_missed aufgerufen wird und per Kommandosubstitution das was list_missed rausschmeisst in der lokalen Variablen missing abgespeichert wird. In list_missed wird in der 3. Zeile "echo -e "\nfunction list_missed, line 87, mount_opts= $mount_opts"" ein Text und der Inhalt der Variablen mount_ops ausgegeben. Anschließend wird eine weitere Zeile Text ausgegeben. Die Funktion list_missed wird komplett abgearbeitet, anschließend wird zurück zu wait_for_udev gesprungen und dann die Zeile "echo -e "\nfunction wait_for_udev, Zeile 114, missing: $missing"" ausgegeben. Wenn ich mir jetzt aber /var/log/boot.msg ansehe, entspricht der Output nicht meinem erwartetem Ablauf. list_missed wird IMHO VOR der Zeile "echo -e "\nfunction wait_for_udev, Zeile 114, missing: $missing"" aufgerufen. Also müssten die echos aus list_missed auch VOR ""\nfunction wait_for_udev, Zeile 114, missing: $missing"" ausgegeben werden. Werden sie aber nicht. Stattdessen sieht es aus, als ob nach "local missing=$(list_missed)" weiter wait_for_udev abgearbeitet wird und erst mit einer Verzögerung list_missed abgearbeitet wird. Any ideas ? Bernd -- Bernd Lentes Systemadministration Institut für Entwicklungsgenetik Gebäude 35.34 - Raum 208 HelmholtzZentrum münchen bernd.lentes@helmholtz-muenchen.de phone: +49 89 3187 1241 fax: +49 89 3187 2294 http://www.helmholtz-muenchen.de/idg Wer nichts verdient außer Geld verdient nichts außer Geld Helmholtz Zentrum München Deutsches Forschungszentrum für Gesundheit und Umwelt (GmbH) Ingolstädter Landstr. 1 85764 Neuherberg www.helmholtz-muenchen.de Aufsichtsratsvorsitzende: MinDir´in Bärbel Brumme-Bothe Geschäftsführer: Prof. Dr. Günther Wess Dr. Nikolaus Blum Dr. Alfons Enhsen Registergericht: Amtsgericht München HRB 6466 USt-IdNr: DE 129521671 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org