Czasami czujesz się przygnębiony, chcesz „obsadzić” - jak mogę dodać ten ręczny wpis w Uniksie?

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

Jak mogę naprawić tę sytuację?

Chcę dodać „wymyślony” ręczny wpis dla nieistniejącego polecenia, upaby móc pisać w man uprazie potrzeby. Sugestie do dodania to mile widziane dodatki do instrukcji ręcznego dodawania.

Ponadto, na wypadek, gdyby moja stacja robocza kiedykolwiek otrzymała kobiety, na pewno będę lnkobietą:

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$ 

Chociaż prawdopodobnie powinienem to zmienić na Which womanual page do you want?- czy wymagałoby to ponownej kompilacji, czy jest łatka?

Cris Stringfellow
źródło
4
Zbyt interesujące, aby
zignorować
3
Powinieneś także utworzyć dowiązanie symboliczne lawyer, abyś mógł znaleźć się w niepewnej sytuacji lawyer up.
Justin
5
Tak, mądrze! I chociaż próbowałem nice lawyer up, nadal chciałem wykorzystać wszystkie zasoby systemowe.
Cris Stringfellow
1
I to jest gorące pytanie!
Kanadyjczyk Luke REINSTATE MONICA

Odpowiedzi:

31

Oto dobre instrukcje dodawania nowej strony podręcznika:

HowTo: Linux / UNIX Utwórz stronę podręcznika

Krótko mówiąc, strona man to po prostu plik tekstowy z dodatkowymi informacjami o formatowaniu dla troff

Zwykle ma 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])

Zapisz to jako up

Następnie możesz wyświetlić stronę man z man ./uptego samego katalogu

Strony /usr/local/man/man8/podręcznika są zwykle niedopracowane i skompresowane

Możesz skopiować swoją stronę podręczną za pomocą, cp up /usr/local/man/man8/up.1a następnie gzip za pomocągzip /usr/local/man/man8/name.1

Następnie możesz przetestować go z man up - co powinno dać coś takiego

Duma
źródło
4
Ponadto, jeśli pisanie znaczników * raw roff nie jest twoją filiżanką herbaty, możesz np. Napisać stronę w POD i użyć pod2man, aby przekonwertować ją na stronę podręcznika .
Ilmari Karonen
8

Chociaż prawdopodobnie powinienem to zmienić na Which womanual page do you want?- czy wymagałoby to ponownej kompilacji, czy jest łatka?

Ponowna kompilacja daje najlepsze wyniki, ale w międzyczasie powinno to zrobić:

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

Zapisz jako /usr/sbin/woman, ustaw uprawnienia do wykonywania i rozpocznij testowanie:

woman
woman down
woman woman
Dennis
źródło
2
Jednak wykryłem błąd w mojej nowej kobiecie. Ciągle mówi No wo0ual entry for down- co powiedziałem źle?
Cris Stringfellow
woman sedwspomina jedynie \1poprzez \9za s/regexp/replacewoment/, więc \0może nie być dostępna we wszystkich odmianach i wersjach z sed. Zredagowałem swoją odpowiedź.
Dennis
2
Sprawdzę woman sednastępnym razem - zwykle mają rację! ;) BTW to działa teraz. No womanual entry for sexjest klasyczny. Sed womanstrona to martwy klasyk:A single comwomand may be specified as the first arguwoment to sed.
Cris Stringfellow