Dlaczego „who mil” nie może produkować żadnych produktów?


16

W wydaniu IEEE Std 1003.1-2008 2016 (aka The Open Group Base Specification Issue 7, lub po prostu standard POSIX), sekcja uzasadnienia whonarzędzia wspomina o:

Dopuszczalne jest, aby implementacja nie generowała danych wyjściowych dla wywołania kto mil .

Kim lub czym jest „mil”? Dlaczego implementacja może generować brak wyników who mil?


3
To jest wojskowe.
Thomas Dickey,

1
Teściowa? ;-)
jlliagre

To miałoby sens, gdyby to czytać who -ml.
JdeBP,

Być może „mil” jest symbolem zastępczym każdego słowa. My whonie tworzy żadnego wyjścia dla who mil, who unix SE, who GnPi coś jeszcze rzuciłem na niego. Nawet nie who am isprawił, że tykało. GNU Coreutils 8.25-2ubuntu2.
GnP

Odpowiedzi:


1

Czytanie strony podręcznika „kto” mówi, że pierwszy argument pozycyjny reprezentuje plik, który ma zostać odczytany. Dodanie argumentu „mil” mówi „komu” otworzyć ”./mil” i sprawdzić go pod kątem danych logowania ... ponieważ (prawdopodobnie) nie ma takiego pliku, nic nie wyświetla… tak, jakby nie było zalogowanych użytkowników Przypuszczam, że może to wygenerować kilka użytecznych komunikatów o błędach, ale może to przynieść efekt przeciwny do zamierzonego. Wyobraźmy sobie na przykład przypadek, gdy system właśnie się uruchomił i żaden użytkownik jeszcze się nie zalogował. W takim przypadku plik logowania byłby pusty lub nie istniałby. Zatem właściwym wyjściem „kto” jest „brak odpowiedzi” (tzn. Nie zalogowani użytkownicy) zamiast wprowadzającego w błąd komunikatu o błędzie.


Przyszło mi to do głowy, ale nie sądzę, że taka jest odpowiedź sama w sobie. Po pierwsze, argumenty pliku są rozszerzeniem XSI i nie jestem pewien, czy ta funkcja była zawarta we wczesnych wersjach who(musiałbym zdemontować narzędzia UNIX v1, aby zobaczyć . Ponadto, ponieważ inne rozszerzenie XSI who am iłamie ten wzorzec, nie chciałbym tak szybko spodziewaj who milsię przeczytać plik, może to być po prostu podobny pisanka
Rhymoid

Kto zaakceptował argument pliku już w V3 . Myślę, że standard POSIX ma po prostu literówkę i chcieli powiedzieć „kto zapisuje”.
Mark Plotnick,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.