LEXGROG
NAVN
SYNOPSIS
BESKRIVELSE
TILVALG
AFSLUT−STATUS
EKSEMPLER
WHATIS−FORTOLKNING
SE OGSÃ
NOTER
FORFATTER
FEJL
NAVN
lexgrog − fortolk hovedfilsinformation i manualsider
SYNOPSIS
lexgrog [−m|−c] [−dfw?V] [−E kodning] fil …
BESKRIVELSE
lexgrog er en implementering af det traditionelle “groff guess”−redskab i lex. Det læser listen med filer pÃ¥ kommandolinjen som enten manualsidekildefiler eller præformaterede “cat”−sider, og viser deres navn og beskrivelse som brugt af apropos og whatis, listen med forhÃ¥ndsbehandlede filtre krævet af manualsiden før den sendes til nroff eller troff, eller begge.
Hvis inddata er dÃ¥rligt formateret vil lexgrog vise “parse failed”; dette kan være nyttigt for eksterne programmer, som skal kontrollere manualsider for korrekthed. Hvis en af lexgrog’s inddatafiler er “−”, sÃ¥ vil det læse fra standardinddata; hvis nogle af inddatafilerne er komprimeret, sÃ¥ vil en udpakket version blive læst automatisk.
TILVALG
−d, −−debug
Vis fejlsøgningsinformation.
−m, −−man
Fortolk inddata som kildefiler for manualsider. Dette er standarden hvis hverken −−man eller −−cat er angivet.
−c, −−cat
Fortolk inddata som præformaterede manualsider (“cat pages”). −−man og −−cat kan ikke angives simultant.
−w, −−whatis
Vis navnet og beskrivelsen fra manualsidens teksthoved, som brugt af apropos og whatis. Dette er standarden hvis hverken −−whatis eller −−filters er angivet.
−f, −−filters
Vis listen med filtre krævet for at forbehandle manualsiden før formatering med nroff eller troff.
−E kodning, −−encoding kodning
Overstyr det gættede tegnsæt for siden til encoding.
−?, −−help
Vis en hjælpebesked og afslut.
−−usage
Vis en kort hjælpebesked og afslut.
−V, −−version
Vis versionsinformation.
AFSLUT−STATUS
0 |
Programkørsel endt uden fejl. |
||
1 |
Fejl i anvendelse. |
||
2 |
lexgrog mislykkedes i at fortolke en eller flere af dets inddatafiler. |
EKSEMPLER
$ lexgrog man.1
man.1: “man − an interface to the system reference manuals”
$ lexgrog −fw man.1
man.1 (t): “man − an interface to the system reference manuals”
$ lexgrog −c whatis.cat1
whatis.cat1: “whatis − display manual page descriptions”
$ lexgrog broken.1
broken.1: parse failed
WHATIS−FORTOLKNING
mandb (som bruger den samme kode som lexgrog) fortolker afsnittet NAME øverst for hver manualside på udkig efter navne og beskrivelser for funktionerne dokumenteret i hver. Selvom fortolkeren er ret så tolerant, da den skal håndtere et antal forskellige formularer, som historik er blevet anvendt, så kan den fejle i sit udtræk af den krævede information.
NÃ¥r det traditionelle makrosæt man anvendes, sÃ¥ ser et korrekt NAME−afsnit cirka sÃ¥dan her ud:
.SH NAME
foo − program til udførsel
Nogle manualsøgere kræver at ‘−’ to er præcis som vist; mandb er mere tolerant, men af kompatibilitetsÃ¥rsager er det alligevel en god ide at bevare skrÃ¥stregen.
PÃ¥ den venstre side, kan der være flere navne, adskilt af kommaer. Navne indeholdende mellemrum vil blive ignoreret for at undgÃ¥ patologisk opførsel pÃ¥ bestemet forkert udformet NAME−sektioner. Teksten pÃ¥ den højre side er fri, og kan spredes over flere linjer. Hvis flere funktioner med forskellige beskrivelser bliver dokumenteret pÃ¥ den samme manualside, sÃ¥ bruges den følgende form:
.SH NAME
foo, bar − programmer til at gøre noget
.br
baz − program til ikke at gøre noget
(En makro som starter et nyt afsnit, sÃ¥som .PP, kan bruges i stedet for break−makroen .br.)
NÃ¥r der bruges det BSD−afledte mdoc−makrosæt, sÃ¥ ligner en korrekt NAME−sektion noget lignende dette:
.Sh NAVN
.Nm foo
.Nd program der skal udføre noget
Der er flere gængse Ã¥rsager til at whatis−fortolkning mislykkes. Nogle gange erstatter forfattere af manualsider ‘.SH NAME’ med ‘.SH MYPROGRAM’, og sÃ¥ kan mandb ikke finde afsnittet hvorfra informationen, den har brug for, skal udtrækkes. Undertiden inkluderer forfatteren et NAVNE−afsnit, men placerer fri−form tekst der frem for ‘name − beskrivelse’. Dog bør enhver syntaks der ligner ovenstÃ¥ende blive accepteret.
SE OGSÃ
apropos(1), man(1), whatis(1), mandb(8)
NOTER
lexgrog forsøger at fortolke filer der indeholder .so−forespørgsler, men vil kun kunne gøre det korrekt hvis filerne er korrekt installeret i et manualsidehierarki.
FORFATTER
Koden brugt af lexgrog til at skanne manualsider blev skrevet af:
Wilf. (G.Wilford@ee.surrey.ac.uk).
Fabrizio Polacco (fpolacco@debian.org).
Colin Watson (cjwatson@debian.org).
Colin Watson skrev den aktuelle inkarnation af kommandolinjebrugerfladen, samt denne manualside.
FEJL
https://savannah.nongnu.org/bugs/?group=man-db