Ausgabe
Kann mir jemand helfen, die Bedeutung der folgenden Zeile zu verstehen?
#!/usr/bin/perl
use File::stat;
...
sub rootdev { return (stat readlink)[0] == (stat "/")[0]; }
my @vols = shuffle map {/.*\/([0-9]+)/} grep {not rootdev} grep {-e readlink} grep {-l} glob("/dev/shm/v/*");
...
Es gibt ein Untermodul wie oben, aber ich kann die Bedeutung von nicht verstehen stat readlink)[0] == (stat "/")[0]
.
Lösung
Ich habe die Antwort bekommen.
Der Eingang des Submoduls rootdev
ist grep {-e readlink} grep {-l} glob("/dev/shm/v/*")
.
Holen Sie sich also zuerst die Dateiliste aus dem /dev/shm/v/
Verzeichnis und filtern Sie grep
nur nach Symlink.
Überprüfen Sie dann die Geräte-ID (erste Array-Info der stat
Funktion) und vergleichen Sie sie mit dem Root-Gerät.
Es dient dazu, das gezeigte Gerät des Symlinks zu überprüfen, ob /dev/shm/v
es sich um ein Root-Gerät handelt oder um nichts einzuschließen oder auszuschließen.
Beantwortet von – Hardguy
Antwort geprüft von – David Marino (FixError Volunteer)