reverse umount

reverse umount

am 29.06.2007 12:59:08 von John

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

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

Doch leider sieht die ausgabe dann wie folgt aus:

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

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

Ersetze ich bei foreach @av0Rev durch @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

Re: reverse umount

am 29.06.2007 13:10:54 von Frank Seitz

John wrote:

> foreach (@av0Rev) {
> @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

Re: reverse umount

am 29.06.2007 13:21:02 von Roman Racine

John wrote:

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

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

> # print "@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/

Re: reverse umount

am 05.07.2007 15:38:58 von John

Erstmal Danke für die schnellen Antworten ... es funktioniert jetzt
prima ..