reverse umount

Moin,
vielleicht kann mir jemand weiterhelfen ich mochte bestimme
Filesysteme vor dem shutdown umounten allerdings muss dies in
umgekehrter Reihenfolge passieren.

Ich dachte mir das wie folgt :

#!/usr/bin/perl

[at] lines =3D `mount`;
[at] av0 =3D grep(/av0/, [at] lines);
[at] av0Rev =3D reverse [at] av0;
foreach ( [at] av0Rev) {
[at] av0Rev =3D split;
# print " [at] av0Rev\n";
print " Das umount $av0Rev[0]\n";}
}

Doch leider sieht die ausgabe dann wie folgt aus:

Das umount /usr/sap/XB2 =3D=3D>
Das umount on

Er fängt zwar reverse an mact aber nur eine Ausagbe.

Ersetze ich bei foreach [at] av0Rev durch [at] av0 sieht das Ergebnis so aus :

Das umount /sapmnt/XB2
Das umount /sapdb/XB2/mirlog
Das umount /sapdb/XB2/db
Das umount /sapdb/XB2/saplog
Das umount /sapdb/XB2/sapdata1
Das umount /sapdb/XB2/saparch
Das umount /sapdb/XB2/sapdata2
Das umount /usr/sap/XB2

Allerdings sind die mounts nicht reverse. Kann mir jemand sagen wo
mein Fehler liegt

Vielen dank für die Hilfe
John [ Fr, 29 Juni 2007 12:59 ] [ ID #1754833 ]

Re: reverse umount

John wrote:

> foreach ( [at] av0Rev) {
> [at] av0Rev = split;
[...]
> Allerdings sind die mounts nicht reverse. Kann mir jemand sagen wo
> mein Fehler liegt

Das hat mit reverse() nichts zu tun.
Du solltest das Array, über das Du mit foreach iterierst,
nicht in der Schleife verändern.

Grüße
Frank
--
Dipl.-Inform. Frank Seitz; http://www.fseitz.de/
Anwendungen für Ihr Internet und Intranet
Tel: 04103/180301; Fax: -02; Industriestr. 31, 22880 Wedel
Frank Seitz [ Fr, 29 Juni 2007 13:10 ] [ ID #1754834 ]

Re: reverse umount

John wrote:

> Ich dachte mir das wie folgt :
>
> #!/usr/bin/perl
>
> [at] lines = `mount`;
> [at] av0 = grep(/av0/, [at] lines);
> [at] av0Rev = reverse [at] av0;
> foreach ( [at] av0Rev) {
^^^^^^^
> [at] av0Rev = split;
^^^^^^^^

Das ist wohl der Fehler, hier weist du [at] av0Rev einen neuen Wert zu, obschon
du gleichzeitig über alle Werte des Arrays iterierst. Hier solltest du
einen anderen Variablennamen verwenden.

> # print " [at] av0Rev\n";
> print " Das umount $av0Rev[0]\n";}
^^^^^^^^^

Hier dann analog dazu auch. Ausserdem ist da noch eine geschweifte Klammer
zuviel, aber das kommt wohl vom Copy Paste.

> }

Gruss

Roman°
--
IRC-Freenode: #usenet-friends
http://www.usenet-friends.ch.vu/
Roman Racine [ Fr, 29 Juni 2007 13:21 ] [ ID #1754835 ]

Re: reverse umount

Erstmal Danke für die schnellen Antworten ... es funktioniert jetzt
prima ..
John [ Do, 05 Juli 2007 15:38 ] [ ID #1761058 ]
Perl » de.comp.lang.perl.misc » reverse umount

Vorheriges Thema: Setsames verhalten bei Locale::Maketext
Nächstes Thema: Perl Tk, Windows, blockierende Funktionen