Man pages ken je allicht al, maar wist je dat je systeem ook een schat aan informatie bevat over scripten in bash, Perl en Python? Je hoeft dus niet meteen terug te vallen op Google als je even vastzit bij het schrijven van een script. Uiteraard moet je dan wel weten hoe je die documentatie opvraagt op je systeem!

1. Bash

De man page van bash bevat erg veel informatie, maar is daardoor niet bijster gebruiksvriendelijk. Voor bash 4.2 krijg je bijna 5500 regels voorgeschoteld. Je bent dus gauw enkele uren zoet als je daarin begint te lezen! Gebruik dus zeker de zoekfunctie van man als je specifieke informatie zoekt. De zoekfunctie gebruik je door ‘/’ in te typen, gevolgd door je zoekterm (zonder spatie). Navigeren naar de vorige of volgende treffer doe je met ‘n’ respectievelijk ‘N’. Vergeet ook niet om speciale karakters zoals $ of ? vooraf te laten gaan door een ‘\’, anders werkt het niet. Zoek je bijvoorbeeld de betekenis van de @-variabele in bash ($@), dan luidt de zoekopdracht: /\@

2. help

Bash bevat heel wat builtin commando’s: alias, cd, echo, eval, kill, enzovoorts. De documentatie daarover vind je sneller terug in de man page van bash-builtins. Dit is in feite een kleiner onderdeel van de bash-man page. Maar het kan nog sneller met de help-builtin. ‘help’ zonder opties toont je alle beschikbare builtins. Gevolgd door een optie en de naam van een builtin, krijg je volgende informatie:

– help -d <builtin>: korte beschrijving, erg handig om nieuwe functies te ontdekken

– help -s <builtin>: syntax, vooral nuttig om even je geheugen op te frissen

– help <builtin>: volledige uitleg van de werking en verschillende opties

 

3. Perl

De makers van Perl hebben gelukkig niet geprobeerd om de volledige documentatie in één man page te gieten! ‘man perl’ geeft je een mooi overzicht van de beschikbare man pages over Perl. Zo zijn er een heel aantal tutorials voor Perl-beginners (zoals perlretut om regular expressions te leren), faqs (bijvoorbeeld  perlfaq1 voor algemene vragen over Perl) en uiteraard de tientallen man pages die de reference manual vormen (perlsyn, perldata, perlfunc, enzovoorts). Het grote voordeel van die man pages is dat je zeker bent dat de informatie correct is (wat niet gezegd kan worden van fora op het internet!) én dat je meteen de documentatie voor jouw versie van Perl leest. Wil je een uitgebreider overzicht van de inhoud van de verschillende Perl man pages? Lees dan de man page van perltoc er even op na.

 

4. perldoc

Vond je geen documentatie op jouw systeem met tip 3? Dan moet je het pakket perl-doc nog installeren. De meeste distributies installeren dat niet standaard, omdat het enkel interessant is voor Perl-programmeurs. Het perldoc-commando gebruik je ook om de documentatie van Perl-modules te lezen, bijvoorbeeld ‘perldoc IO::Socket::INET’. Maar in de meeste distributies zijn er ook man pages beschikbaar voor Perl-modules. ‘man IO::Socket::INET’ werkt dus net zo goed. Perldoc heeft wel enkele interessante opties om snel te zoeken in de documentatie. Zo toont ‘perldoc -f <functie>’ de beschrijving van een ingebouwde functie (zoals chomp) en ‘perldoc -v <variable>’ van een variabele (zoals $!). Lees dus zeker ook eens perldocs man page!

 

5. Python

Pythons man page beschrijft enkel de Python-interpreter en diens commandline-opties. Wil je meer informatie over de taal zelf, gebruik dan Pythons ingebouwde help-functie: python -c ‘help()’. Python onderscheidt nog drie types documentatie:

– topics: algemene uitleg over specifieke onderwerpen, bijvoorbeeld ASSIGNMENT of TUPLES

– keywords: beschikbare keywords zoals if, import, print, return, enzovoorts

– modules: overzicht van alle beschikbare modules

Gebruik één van bovenstaande commando’s om de beschikbare documentatie van dat type te bekijken. Heb je de pagina gevonden die je zoekt, dan vraag je ze op door de naam in te geven, bijvoorbeeld ‘zipfile’ voor uitleg over de gelijknamige module. Weet je nog niet precies welke module je nodig hebt? Gebruik dan een trefwoord om te zoeken in de beschikbare modules, bijvoorbeeld ‘modules zip’.