Estou escrevendo uma página de manual para um programa que estou empacotando. Como posso exibir o arquivo manpage que criei, para verificar se está tudo bem? Existe uma maneira de passar meu arquivo diretamente para o man
comando, em vez de pesquisá-lo nas páginas de manual instaladas por nome?
Tentei fazer coisas como man myprog.1
e, man < myprog.1
mas em ambos os casos recebi um erro dizendo que a página de manual não foi encontrada.
Responder1
man
tem a opção de ler um arquivo local:-l
-l, --local-file
Ativa o modo `local'. Formate e exiba arquivos manuais locais em vez de pesquisar na coleção de manuais do sistema. Cada argumento da página de manual será interpretado como um arquivo fonte nroff no formato correto. Nenhum arquivo cat é produzido.
Se '-' estiver listado como um dos argumentos, a entrada será obtida de stdin. Quando esta opção não é utilizada e man não consegue encontrar a página necessária, antes de exibir a mensagem de erro, ele tenta agir como se esta opção fosse fornecida, usando o nome como nome de arquivo e procurando uma correspondência exata.
Assim, você pode visualizar seu trabalho em andamento com:
man -l /path/to/manfile.1
Responder2
O caminho da 'velha escola', para sistemas anteriores à -l
opção, é
nroff -man filename | more -s
Responder3
Eu usei simplesmente
man ./path/to/man.1
Você precisa incluir uma barra no caminho, caso contrário ele pesquisará nos diretórios do sistema. Funciona nos sistemas Linux e OS X que possuo (este último não possui -l
).
$ cd /tmp
$ cp /usr/share/man/man1/ls.1 .
$ man ls.1
No manual entry for ls.1
$ man ./ls.1 # works
Responder4
No Solaris, a -M
mudança para man
substituirá o caminho de pesquisa das páginas de manual: -
man -M path/to/man myprog
Seu arquivo de página de manual deve residir em um subdiretório apropriado correspondente à seção e linguagem de marcação, por exemplo: path/to/man/man1/myprog.1
para uma página de manual nroff na seção 1.