Manchmal fühlst du dich niedergeschlagen, du willst dich aufregen - wie kann ich diesen manuellen Eintrag in Unix einfügen?

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

Wie kann ich Abhilfe schaffen?

Ich möchte einen erfundenen manuellen Eintrag für einen nicht vorhandenen Befehl hinzufügen, updamit ich ihn man upbei Bedarf eingeben kann . Vorschläge zum Hinzufügen von Inhalten sind willkommene Ergänzungen zu manuellen Hinzufügungsanweisungen.

Auch für den Fall, dass meine Workstation jemals weibliche Benutzer bekommt, werde ich sicher eine lnFrau sein:

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$ 

Obwohl ich das wahrscheinlich ändern sollte Which womanual page do you want?- würde das ein Neukompilieren beinhalten oder gibt es einen Patch?

Cris Stringfellow
quelle
4
Zu interessant, um darauf zu verzichten
Kanadier Luke REINSTATE MONICA
3
Sie sollten auch einen Symlink verwenden, lawyerdamit Sie in eine prekäre Situation geraten können, wenn Sie sich jemals befinden lawyer up.
Justin ᚅᚔᚈᚄᚒᚔ
5
Ja, weise! Und obwohl ich es versucht nice lawyer uphabe, wollte es trotzdem alle Systemressourcen nutzen.
Cris Stringfellow
1
Und es ist eine heiße Frage!
Kanadier Luke REINSTATE MONICA

Antworten:

31

Hier scheinen gute Anweisungen für das Hinzufügen einer neuen Handbuchseite zu sein:

HowTo: Linux / UNIX Erstellen Sie eine Manpage

Kurz gesagt, eine Manpage ist einfach eine Textdatei mit zusätzlichen Formatierungsinformationen für troff

Es ist normalerweise im 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])

Speichern Sie dies als up

Anschließend können Sie die Manpage mit man ./upaus demselben Verzeichnis anzeigen

Manpages sind normalerweise unter /usr/local/man/man8/und gzippt

Sie können Ihre Manpage mit kopieren und mit cp up /usr/local/man/man8/up.1gzipengzip /usr/local/man/man8/name.1

Sie können es dann mit man up testen - was so etwas ausgeben sollte

Kride
quelle
4
Wenn das Schreiben von raw * roff-Markups nicht Ihre Sache ist , können Sie beispielsweise die Seite in POD schreiben und mit pod2man in eine Manpage konvertieren.
Ilmari Karonen
8

Obwohl ich das wahrscheinlich ändern sollte Which womanual page do you want?- würde das ein Neukompilieren beinhalten oder gibt es einen Patch?

Neukompilieren liefert die besten Ergebnisse, aber dies sollte in der Zwischenzeit tun:

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

Speichern unter /usr/sbin/woman, Ausführungsberechtigungen festlegen und Testen starten:

woman
woman down
woman woman
Dennis
quelle
2
Allerdings habe ich bei meiner neuen Frau einen Fehler festgestellt. Sie sagt immer wieder No wo0ual entry for down- was habe ich falsch gesagt?
Cris Stringfellow
woman sednur Erwähnungen \1durch \9für s/regexp/replacewoment/, daher \0möglicherweise nicht in allen Geschmacksrichtungen und Versionen von sed verfügbar. Ich habe meine Antwort bearbeitet.
Dennis
2
Ich werde das woman sednächste Mal sicher nachsehen - normalerweise haben sie recht! ;) Übrigens funktioniert es jetzt. No womanual entry for sexist klassisch. Sed womanSeite ist eine Sackgasse Klassiker:A single comwomand may be specified as the first arguwoment to sed.
Cris Stringfellow