Parfois, vous vous sentez déprimé, vous voulez vous débrouiller - comment puis-je ajouter cette entrée manuelle sous unix?

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

Comment puis-je remédier à cette situation?

Je souhaite ajouter une entrée manuelle "inventée" pour une commande inexistante upafin de pouvoir taper man upà la demande. Les suggestions d'éléments à inclure sont des ajouts bienvenus aux instructions pour l'ajout manuel.

De plus, au cas où mon poste de travail deviendrait un utilisateur féminin, je serais sûr de le faire 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$ 

Bien que je devrais probablement changer cela en Which womanual page do you want?- cela impliquerait-il une nouvelle compilation ou existe-t-il un correctif?

Cris Stringfellow
la source
4
Trop intéressant pour laisser passer
Canadien Luke REINSTATE MONICA le
3
Vous devez également créer lawyerun lien symbolique pour pouvoir le faire si vous vous trouvez dans une situation précaire lawyer up.
Justin ᚅᚔᚈᚄᚒᚔ
5
Oui, sage! Et même si j'ai essayé, je nice lawyer upvoulais toujours utiliser toutes les ressources du système.
Cris Stringfellow
1
Et c'est une question brûlante!
Canadien Luke REINSTATE MONICA le

Réponses:

31

Voici de bonnes instructions pour ajouter une nouvelle page de manuel:

HowTo: Linux / UNIX Créer une page de manuel

En bref, une page de manuel est simplement un fichier texte, avec des informations de formatage supplémentaires pour troff.

C'est généralement dans le format

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

Enregistrer ceci sous up

Vous pouvez ensuite afficher la page de manuel avec man ./uple même répertoire

Les pages de /usr/local/man/man8/manuel sont généralement sous et gzippées

Vous pouvez copier votre page de manuel avec cp up /usr/local/man/man8/up.1ensuite gzip avecgzip /usr/local/man/man8/name.1

Vous pouvez ensuite le tester avec man up - ce qui devrait produire quelque chose comme ceci

Kride
la source
4
De plus, si écrire du balisage brut * roff n’est pas votre tasse de thé, vous pouvez par exemple écrire la page dans POD et utiliser pod2man pour la convertir en page de manuel.
Ilmari Karonen
8

Bien que je devrais probablement changer cela en Which womanual page do you want?- cela impliquerait-il une nouvelle compilation ou existe-t-il un correctif?

La recompilation donne les meilleurs résultats, mais ceci devrait être fait entre-temps:

#!/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

Enregistrer sous /usr/sbin/woman, définir les autorisations d'exécution et lancer les tests:

woman
woman down
woman woman
Dennis
la source
2
Cependant, j'ai détecté une erreur dans ma nouvelle femme. Elle n'arrête pas de dire No wo0ual entry for down- qu'est-ce que j'ai mal dit?
Cris Stringfellow
woman sedmentionne que \1par \9pour s/regexp/replacewoment/, donc \0peut - être pas disponible dans toutes les saveurs et les versions de sed. J'ai édité ma réponse.
Dennis
2
Je serai sûr de vérifier la woman sedprochaine fois - ils ont généralement raison! ;) BTW cela fonctionne maintenant. No womanual entry for sexest classique. Sed womanpage est un classique du deadset:A single comwomand may be specified as the first arguwoment to sed.
Cris Stringfellow