2015-05-16 20 views
5

Ich versuche, eine Manpage für ein Bash-Skript auf Mac OS X 10.9.5 zu installieren. Der Vorgang, den ich versucht habe zu verfolgen, ist hier zusammengefasst: man page tutorial. Ich fasse auch die Schritte, die ich weiter unten versucht:So installieren Sie benutzerdefinierte Man (Handbuch) Seiten auf Mac OS X

cp custom_command.1 /usr/local/man/man1/custom_command.1 
gzip /usr/local/man/man1/custom_command.1 

Wenn man custom_command versuche ich die Ausgabe No manual entry for custom_command bekommen. Ich habe auch andere Installationsmethoden ausprobiert, die in man page tutorial ohne Erfolg erwähnt werden.

Es ist interessant zu bemerken, dass die obigen Schritte für die Emacs-Konsole funktionierten, d. H. Ich bekomme das richtige Handbuch, wenn ich man custom_command eintippe. Der Befehl wird jedoch von der automatischen Vervollständigung nicht erkannt und ich erhalte die folgende Warnung, bevor ich das Handbuch lesen kann: WARNING: terminal is not fully functional.

Jeder Ratschlag zur Lösung der oben genannten Probleme (d. H. Sowohl mit dem Systemterminal als auch mit der Emacs-Konsole) wäre willkommen.


Bemerkung 1

Für eine Referenz, der Mann-Skript, das ich aus dem tutorial genommen zu installieren versuche wurde und unten für eine Referenz angepasst:

.\" Manpage for nuseradd. 
.\" Contact [email protected] to correct errors or typos. 
.TH man 8 "06 May 2010" "1.0" "nuseradd man page" 
.SH NAME 
nuseradd \- create a new LDAP user 
.SH SYNOPSIS 
nuseradd [USERNAME] 
.SH DESCRIPTION 
nuseradd is high level shell program for adding users to LDAP server. On Debian, administrators should usually use nuseradd.debian(8) instead. 
.SH OPTIONS 
The nuseradd does not take any options. However, you can supply username. 
.SH SEE ALSO 
useradd(8), passwd(5), nuseradd.debian(8) 
.SH BUGS 
No known bugs. 
.SH AUTHOR 
Vivek Gite ([email protected]) 

Bemerkung 2

Einer der Vorschläge, die ich in den Linuxforen gesehen habe, war, den Befehl mandb nach der Installation eines neuen Befehls man auszuführen. Dieser Befehl ist jedoch auf meinem Betriebssystem nicht verfügbar.

Antwort

4

allererst Sie wollen, wenn die Manpage lesen richtig zu installieren versuchen wird formatiert und kann durch man Befehl geöffnet werden. Dazu übergeben Sie den Pfad zur Man-Datei an man Befehl. Es muss einen Schrägstrich enthalten, um als Pfad erkannt zu werden, zum Beispiel:

man /usr/local/man/man1/custom_command.1 

Dann sollten Sie sicherstellen, dass der Weg, den Sie Ihre Manpage installieren auf der Suchliste von man Befehl sind.Um die verbrauchte man-Seite seinen Weg zu finden, entweder:

  • angegeben mit -M Option zum man Befehl
  • Satz in der Umgebungsvariable MANPATH
  • aufgelistet in seiner Konfigurationsdatei (/private/etc/man.conf auf OS X) unter MANPATH Anweisung (die nur für Standorte in Ihrer PATH Umgebungsvariable gilt)
  • an der Position relativ zu wo binär installiert ist, dh: wenn binary in 0 installiert istder Mann Seite gesucht wird in path/man, path/cat und path/bin/man, path/bin/cat
  • in Dateien aufgelistet hinzugefügt in /private/etc/manpaths.d/ Verzeichnis

Der Name der Manpage-Datei als Befehlsnamen mit optionaler Abschnittsnummer identisch sein muß. Es kann gezippt werden.

Um zu sehen, wo man für Ihren custom_command Manpage Lauf suchen

man -d custom_command 
2

OS X Benutzerbefehl Mann Seiten werden in der Regel in erstellt:

/usr/local/share/man/man1 

Wenn Sie lieben Mann Seiten in einem anderen Verzeichnis bearbeiten erstellen:

/private/etc/man.conf 

Dann fügen Sie den neuen Pfad zu MANPATH_MAP, für Beispiel:

MANPATH_MAP  /usr/local/bin   /usr/local/man 

Man sucht einen nicht standardmäßigen Pfad mit einem Standard-Ausweich (/usr/local/share/man):

MANPATH   /usr/local/man  
MANPATH   /usr/local/share/man 
MANPATH_MAP  /usr/local/bin   /usr/local/share/man 
0

I Pakete über Gebräu installiert hatte, aber der Mann Befehl eine leere zeichnete, weil ich Gebräu in ein anderes Verzeichnis installiert hatte. Um dies zu umgehen, noch die Paket Verknüpfung (die Inhalte verknüpfen einige Verzeichnisse nach oben), kann ich dann fügen Sie in meinem Bash_profile manpath, wie so ...

MANPATH="/Users/me/Developer/share/man:$MANPATH"