Às vezes você está desanimado, quer 'man up' - como posso adicionar esta entrada manual no unix?

44
Cris-Mac-Book-2:src cris$ man up
No manual entry for up

Como posso remediar esta situação?

Quero adicionar uma entrada manual 'inventada' para um comando inexistente uppara que eu possa digitar man upquando necessário. Sugestões de coisas a serem incluídas são adições bem-vindas às instruções de adição manual.

Além disso, no caso de minha estação de trabalho ter usuários do sexo feminino, terei a certeza de ln:

Cris-Mac-Book-2:src cris$ sudo link /usr/bin/man /usr/bin/woman
Cris-Mac-Book-2:src cris$ woman
What manual page do you want?
Cris-Mac-Book-2:src cris$ 

Embora eu deva provavelmente mudar isso para Which womanual page do you want?- isso envolveria uma recompilação ou há um patch?

Cris Stringfellow
fonte
4
Muito interessante para deixar passar
canadense Luke REINSTATE MONICA
3
Você também deve vincular lawyero link para que, se alguma vez se encontre em uma situação precária, possa lawyer up.
precisa saber é o seguinte
5
Sim, sábio! E, apesar de eu ter tentado nice lawyer up, ainda queria usar todos os recursos do sistema.
precisa
1
E é uma pergunta quente!
Canadian Luke REINSTATE MONICA

Respostas:

31

Aqui parecem ser boas instruções para adicionar uma nova página de manual:

HowTo: Linux / UNIX Criar uma página de manual

Em resumo, uma página de manual é simplesmente um arquivo de texto, com informações adicionais de formatação para troff

Geralmente está no formato

.\" Manpage for up.
.\" Contact [email protected] to correct errors or typos.
.TH man 8 "06 May 2010" "1.0" "name man page"
.SH NAME
up \- into a higher position or level
.SH SYNOPSIS
up [anything you like]
.SH DESCRIPTION
up is a pretty good place to be
.SH OPTIONS
up does not take any options, though you can choose the speed of your acent 
.SH SEE ALSO
yes(1), time cat (2) cal 3() 
.SH BUGS
No known bugs. Gravity is not a bug, "Its a feature"
.SH AUTHOR
Chris Stringfellow ([email protected])

Salvar como up

Você pode visualizar a página de manual com man ./upo mesmo diretório

As páginas de /usr/local/man/man8/manual geralmente estão abaixo e compactadas com gzip

Você pode copiar a sua página de manual e, em cp up /usr/local/man/man8/up.1seguida, compactá-la comgzip /usr/local/man/man8/name.1

Você pode testá-lo com o man up - o que deve gerar algo como isto

Kride
fonte
4
Além disso, se escrever uma marcação bruta * roff não é sua xícara de chá, você pode, por exemplo, escrever a página em POD e usar o pod2man para convertê-la em uma página de manual.
Ilmari Karonen
8

Embora eu deva provavelmente mudar isso para Which womanual page do you want?- isso envolveria uma recompilação ou há um patch?

A recompilação produz os melhores resultados, mas isso deve ocorrer enquanto isso:

#!/bin/bash

ARG=${1/woman/man}

man $ARG > /dev/null 2>&1

if [ $? -eq 0 ]; then
    man $ARG 2> /dev/null \
        | sed \
            -e 's/\(m[ae]n\)/wo\1/g' \
            -e 's/\(M[AE]N\)/WO\1/g' \
            -e 's/M\([ae]n\)/Wom\1/g' \
            -e 's/    //' \
            -e 's/\([^ ]\)  /\1 /g' \
        | less
else
    man $ARG 2>&1 | sed -e 's/\(m[ae]n\)/wo\1/'
fi

Salvar como /usr/sbin/woman, defina permissões de execução e inicie o teste:

woman
woman down
woman woman
Dennis
fonte
2
No entanto, eu detectei um erro na minha nova mulher. Ela continua dizendo No wo0ual entry for down- o que eu disse errado?
precisa
woman sedmenciona apenas \1através \9de s/regexp/replacewoment/, por isso, \0podem não estar disponíveis em todos os sabores e versões do sed. Eu editei minha resposta.
Dennis
2
Certifico-me de verificar da woman sedpróxima vez - eles geralmente estão certos! ;) BTW funciona agora. No womanual entry for sexé clássico. A womanpágina Sed é um clássico clássico:A single comwomand may be specified as the first arguwoment to sed.
Cris Stringfellow