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/