В выпуске 2016 года IEEE Std 1003.1-2008 (он же выпуск 7 «Основные спецификации открытых групп» или просто стандарт POSIX) раздел «Обоснование» who
утилиты упоминает следующее:
Допустимо, чтобы реализация не создавала выходных данных для вызова who mil .
Кто или что такое "мил"? Почему реализация не может производить вывод who mil
?
who -ml
.who
не производит никакого вывода дляwho mil
,who unix SE
,who GnP
и все остальное , что я бросил на него. Даже неwho am i
сделал это галочкой. GNU Coreutils 8.25-2ubuntu2.Ответы:
Читая справочную страницу "кто", он говорит, что первый позиционный аргумент представляет файл, который должен быть прочитан. Добавление аргумента "mil" говорит "кому" открывать "./mil" и проверять его на наличие информации для входа в систему ... поскольку такого файла (предположительно) нет, он ничего не выводит ... как если бы не было пользователей, вошедших в систему Я полагаю, что это может привести к некоторым полезным сообщениям об ошибках, но это может привести к обратным результатам. Например, представьте себе случай, когда система только что запустилась, а пользователи еще не вошли в систему. В этом случае файл входа в систему будет пустым или не существует. Таким образом, правильным выводом «кто» является «нет ответа» (т.е. пользователи не вошли в систему) вместо вводящего в заблуждение сообщения об ошибке.
источник
who
(мне пришлось бы разобрать утилиты UNIX v1, чтобы увидеть . Более того, поскольку другое расширение XSIwho am i
нарушает этот шаблон, я бы не стал не так быстро ожидатьwho mil
чтения файла, это может быть просто похожее пасхальное яйцо