W wydaniu IEEE Std 1003.1-2008 2016 (aka The Open Group Base Specification Issue 7, lub po prostu standard POSIX), sekcja uzasadnienia who
narzę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
?
who -ml
.who
nie tworzy żadnego wyjścia dlawho mil
,who unix SE
,who GnP
i coś jeszcze rzuciłem na niego. Nawet niewho am i
sprawił, że tykało. GNU Coreutils 8.25-2ubuntu2.Odpowiedzi:
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.
źródło
who
(musiałbym zdemontować narzędzia UNIX v1, aby zobaczyć . Ponadto, ponieważ inne rozszerzenie XSIwho am i
łamie ten wzorzec, nie chciałbym tak szybko spodziewajwho mil
się przeczytać plik, może to być po prostu podobny pisanka