In der Ausgabe 2016 von IEEE Std 1003.1-2008 (auch bekannt als The Open Group Base Specifications Issue 7 oder nur der POSIX-Standard) wird im Abschnitt "Begründung" des who
Dienstprogramms Folgendes erwähnt:
Es ist akzeptabel, dass eine Implementierung keine Ausgabe für einen Aufruf von who mil erzeugt .
Wer oder was ist "mil"? Warum darf eine Implementierung keine Ausgabe für erzeugen who mil
?
who -ml
.who
produziert keine Ausgabe fürwho mil
, und alles anderewho unix SE
,who GnP
was ich darauf geworfen habe. Hatwho am i
es nicht einmal zum Ticken gebracht. GNU Coreutils 8.25-2ubuntu2.Antworten:
Beim Lesen der Manpage von "who" heißt es, dass das erste Positionsargument die Datei darstellt, die gelesen werden soll. Durch Hinzufügen des Arguments "mil" wird angegeben, wer "./mil" öffnen und nach Anmeldeinformationen suchen soll ... da (vermutlich) keine solche Datei vorhanden ist, wird nichts ausgegeben ... als wären keine Benutzer angemeldet Ich nehme an, es könnte einige nützliche Fehlermeldungen ausgeben, aber das kann kontraproduktiv sein. Stellen Sie sich beispielsweise den Fall vor, in dem das System gerade gestartet wurde und sich noch keine Benutzer angemeldet haben. In diesem Fall wäre die Anmeldedatei leer oder nicht vorhanden. Somit ist die richtige Ausgabe von "who" "keine Antwort" (dh es sind keine Benutzer angemeldet) anstelle einer irreführenden Fehlermeldung.
quelle
who
(ich habe würde auseinander zu nehmen Dienstprogramme UNIX - v1 zu sehen . Darüber, wie die anderen XSI Verlängerungwho am i
bricht dieses Muster, ich werde nicht Es ist nicht so schnellwho mil
, eine Datei zu lesen, es könnte sich um ein ähnliches Osterei handeln.