我最近舉辦了一個關於 Linux 工具的研討會,並告訴學生如果遇到錯誤,請查閱命令的手冊頁。
但是,我注意到該命令本身從未返回訊息以查看該man
命令的手冊頁。
大多數命令建議使用--help
選項、使用頁面info
、使用說明或僅列印錯誤訊息。
我想知道為什麼沒有命令要求用戶查閱手冊頁?當它被錯誤使用時,這不是第一個去尋找的地方嗎?
答案1
那裡是這是有客觀原因的。
--help
是內建於實用程式本身的標誌 - 內建於二進位執行檔中,或者如果它是腳本則內建在腳本中。
手冊頁與可執行檔本身分開儲存於檔案系統。
手冊頁可能會遺失,但可執行文件本身仍然可以存取。
作為實用程式開發人員,向使用者引導文檔資源可以不可以出現在他們的系統上比在程式碼本身中內嵌資訊更有意義。
不僅如此,而且可執行檔的版本和手冊頁的版本可能會或可能不會一致。
我遇到過這種情況,例如,當某個版本的 Postgres 隨某個軟體包一起提供時,系統上還安裝了不同版本的 Postgres。 man psql
將顯示訊息一版本,但它不是您透過運行實際獲得的版本psql
。如果沒有--help
標誌,我會很困惑為什麼某些選項根據手冊頁不起作用。
答案2
這取決於意見,因為可能沒有關於如何呈現錯誤訊息中的建議的統計數據。
我所看到的主要搭配是列印使用訊息(可能不只一行),也許是因為沒有必要告訴某人閱讀手冊頁。告訴某人閱讀--help
訊息是多餘的,只有一小部分建議閱讀資訊頁面。
我開發的所有程式都提供使用訊息(通常是多行)。