Dalam IEEE Std 1003.1-2008 edisi 2016 (alias Spesifikasi Open Group Base Issue 7, atau hanya standar POSIX), bagian Rasional dari who
utilitas menyebutkan sebagai berikut:
Hal ini dapat diterima untuk implementasi untuk menghasilkan tidak ada output untuk pemanggilan yang mil .
Siapa atau apa itu "mil"? Mengapa implementasi diizinkan untuk tidak menghasilkan keluaran who mil
?
who -ml
.who
tidak menghasilkan output untukwho mil
,who unix SE
,who GnP
dan apa pun yang saya melemparkan di itu. Bahkan tidakwho am i
berhasil. GNU Coreutils 8.25-2ubuntu2.Jawaban:
Membaca halaman manual "siapa", dikatakan argumen posisi pertama mewakili file yang harus dibaca. Menambahkan argumen "mil" memberi tahu "siapa" untuk membuka "./mil" dan memeriksanya untuk informasi login ... karena di sana (mungkin) tidak ada file seperti itu, itu tidak menghasilkan apa-apa ... seolah-olah tidak ada pengguna yang login Saya kira itu bisa menampilkan beberapa pesan kesalahan yang berguna, tetapi itu mungkin kontraproduktif. Misalnya, bayangkan kasus di mana sistem baru saja dimulai, dan belum ada pengguna yang masuk. Dalam hal itu, file masuk akan kosong atau tidak ada. Dengan demikian, keluaran yang tepat dari "siapa" adalah "tidak ada respons" (yaitu tidak ada pengguna yang masuk) alih-alih pesan kesalahan yang menyesatkan.
sumber
who
(saya harus membongkar utilitas UNIX v1 untuk melihat . Selanjutnya, ketika ekstensi XSI lainwho am i
memecah pola ini, saya tidak akan berharap begitu cepatwho mil
untuk membaca file; mungkin saja itu telur paskah yang serupa.