2015-05-16 6 views
5

Sto cercando di installare una pagina man per uno script bash su Mac OS X 10.9.5. La procedura che ho provato a seguire è riassunta qui: man page tutorial. Ho anche riassumere i passi che ho provato qui di seguito:Come installare l'uomo su misura (manuale) pagine su Mac OS X

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

Quando si cerca man custom_command ho l'uscita No manual entry for custom_command. Ho anche provato altri metodi di installazione menzionati in man page tutorial senza successo.

E 'interessante notare che i passaggi precedenti hanno lavorato per la console emacs, vale a dire che faccio ottenere il manuale corretto quando si digita l'uomo custom_command. Tuttavia, il comando non è riconosciuto dal completamento automatico e ricevo il seguente avviso prima di poter leggere il manuale: WARNING: terminal is not fully functional.

Qualche consiglio su come risolvere i problemi di cui sopra (cioè sia con il terminale di sistema e la console emacs) sarebbe apprezzato.


Osservazione 1

Per un riferimento, lo script uomo che sto cercando di installare è stata presa dal tutorial e viene ripristinato sotto per un riferimento:

.\" 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]) 

Note 2

Uno dei suggerimenti che ho visto nei forum linux era di eseguire il comando mandb dopo l'installazione di un nuovo comando man. Tuttavia, questo comando non è disponibile sul mio sistema operativo.

risposta

4

Prima di tutto si consiglia di controllare se la pagina uomo sta tentando di installare sia correttamente formattato e può essere aperto da man comando. Per fare ciò passare il percorso al file man al comando man. Deve contenere una barra al fine di essere riconosciuto come un percorso, ad esempio:

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

allora si dovrebbe fare che il percorso che si sta installando la pagina man per è nella lista di ricerca dei man comando.Al fine di trovare la pagina man il suo percorso deve essere:

  • specificato con -M opzione per il comando man
  • set nella variabile ambientale MANPATH
  • elencati nel suo file di configurazione (/private/etc/man.conf su OS X) sotto MANPATH dichiarazione o sotto MANPATH_MAP dichiarazione (che si applica solo per le località nella variabile ambientale PATH)
  • si trova nella posizione relativa al punto in cui è installato binario, vale a dire: se binario è installato in path/bin la pagina man viene cercato in path/man, path/cat e path/bin/man, path/bin/cat
  • elencati nel file aggiunti nella directory /private/etc/manpaths.d/

Il nome del file di paging uomo deve essere uguale al nome comando con numero di sezione facoltativa. Potrebbe essere gzip.

Per vedere dove l'uomo cercherà la pagina custom_command man run

man -d custom_command 
2

OS X pagine man comando utente vengono in genere creati in:

/usr/local/share/man/man1 

Se si preferisce creare pagine man in una directory diversa edit:

/private/etc/man.conf 

quindi aggiungere il nuovo percorso per MANPATH_MAP, per esempio:

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

Per fare in modo che l'uomo cerchi un percorso non predefinito con un fallback predefinito (/usr/local/share/man):

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

avevo installato i pacchetti tramite birra, ma il comando uomo stava disegnando un vuoto perché avevo installato birra in una directory diversa. Per ovviare a questo, ancora che collega i pacchetti (che collegavano i contenuti fino a pochi directory), ho potuto quindi aggiungere al MANPATH nel mio .bash_profile, in questo modo ...

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