ฉันจะแสดงหน้า man โดยตรงได้อย่างไร


16

ฉันกำลังเขียน man page สำหรับโปรแกรมที่ฉันกำลังทำบรรจุภัณฑ์ ฉันจะแสดงไฟล์ manpage ที่ฉันสร้างขึ้นได้อย่างไรเพื่อตรวจสอบว่ามันถูกต้องหรือไม่ มีวิธีส่งไฟล์ของฉันโดยตรงไปยังmanคำสั่งแทนที่จะให้มันค้นหา manpages ที่ติดตั้งตามชื่อหรือไม่?

ฉันพยายามทำสิ่งที่ชอบman myprog.1และman < myprog.1แต่ในทั้งสองกรณีที่ผมได้รับข้อผิดพลาดที่บอกว่าหน้าคนไม่พบ

คำตอบ:


24

man มีตัวเลือกให้อ่านไฟล์ในเครื่อง: -l

-l, - ไฟล์

ท้องถิ่นเปิดใช้งานโหมด `ท้องถิ่น ' จัดรูปแบบและแสดงไฟล์แมนนวลท้องถิ่นแทนการค้นหาผ่านชุดคู่มือของระบบ แต่ละอาร์กิวเมนต์ของเพจด้วยตนเองจะถูกตีความว่าเป็นไฟล์ต้นฉบับ nroff ในรูปแบบที่ถูกต้อง ไม่มีการสร้างไฟล์ cat

หาก '-' ถูกระบุว่าเป็นหนึ่งในอาร์กิวเมนต์อาร์กิวเมนต์จะถูกนำมาจาก stdin เมื่อไม่ได้ใช้ตัวเลือกนี้และมนุษย์ล้มเหลวในการค้นหาหน้าเว็บที่ต้องการก่อนที่จะแสดงข้อความแสดงข้อผิดพลาดมันจะพยายามทำตัวราวกับว่าตัวเลือกนี้ได้รับมาโดยใช้ชื่อเป็นชื่อไฟล์และมองหาคู่ที่ตรงกัน

ดังนั้นคุณสามารถดูตัวอย่างงานที่กำลังดำเนินการได้ด้วย:

man -l /path/to/manfile.1


2
นั่นเป็นหลักเฉพาะ Linux คุณอาจต้องการ จำกัด คำตอบของคุณ
Thomas Dickey

5
@ThomasDickey ฉันใช้ Linux เท่านั้น คุณสามารถแก้ไขหรือเพิ่มคำตอบได้ ...
jasonwryan

15

วิธี 'โรงเรียนเก่า' สำหรับระบบที่มี-lตัวเลือกล่วงหน้าคือ

nroff -man filename | more -s

10

ฉันใช้เพียงแค่

man ./path/to/man.1

คุณต้องรวมเครื่องหมายสแลชในพา ธ มิฉะนั้นจะค้นหาไดเร็กทอรีของระบบ ทำงานบนระบบ Linux และ OS X ที่ฉันมี (ระบบหลังไม่มี-l)

$ cd /tmp
$ cp /usr/share/man/man1/ls.1 .
$ man ls.1
No manual entry for ls.1
$ man ./ls.1     # works

1

บน Solaris -Mสวิตช์manจะแทนที่ search-path สำหรับ manpages: -

man -M path/to/man myprog

ไฟล์ manpage ของคุณต้องอยู่ในไดเรกทอรีย่อยที่เหมาะสมซึ่งสอดคล้องกับส่วนและภาษามาร์กอัปเช่น: path/to/man/man1/myprog.1สำหรับ nroff-manpage ในส่วนที่ 1

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.