23. december

Skøre citater

Hvis du har installeret en pakke med programmet fortune (på min maskine kommer det fra RPM-pakken "fortune-mod") har du temmelig sikkert også fået en ganske stor samling underholdende citater med.

Som en lille introduktionsøvelse skal vi lige finde ud af hvor programmet egentlig gemmer sig henne. På min maskine lå det i det mindste i et katalog, der ikke var inkluderet i min sti. Til det formål er whereis velegnet:

user$ whereis fortune
fortune: /usr/games/fortune /usr/man/man6/fortune.6.gz

På dette system ligger fortune altså i kataloget /usr/games. Lad os prøvekøre det:

user$ /usr/games/fortune
Learn from other people's mistakes, you don't have time to make your own.

Du kan ikke regne med at få samme uddata som ovenfor, men hvis der kommer et citat (evt. af en fejlmeddelelse fra Microsoft) virker programmet efter hensigten.

Man kan jo godt gå hen og blive træt af at skulle taste /usr/games/fortune hver gang man gerne vil have et citat at krydre tilværelsen med, og så er løkker lykken:

#!/bin/tcsh
while ( 1 )
   clear
   /usr/games/fortune
   sleep 120
end

Det ovenstående program (jeg har det liggende i ~/bin/citater) går i en løkke så længe værdien i parentesen efter while er forskellig fra nul. Den første kommando i løkken rydder terminalen/vinduet. Den næste er præsenteret ovenfor (hvis fortune ligger et andet sted skal du rette denne linie tilsvarende). Og den sidste venter 120 sekunder. Når vi kører citater skulle der altså gerne ske følgende:

  • vinduet bliver ryddet
  • der kommer et citat frem i vinduet
  • ingenting (i 120 sekunder)
  • vinduet bliver ryddet
  • der kommer et citat frem i vinduet
  • ingenting (i 120 sekunder)
  • o.s.v.

Hvis vi så gerne vil have et vindue af en passende størrelse, hvor der hvert andet minut dukker et nyt citat op, kan vi benytte kommandoen xterm -geometry 80x8 -T Citater -e citater & til at åbne en xterm på otte linier, der ikke laver andet end at vise tilfældige citater.