FORTUNE(6) Pelit ja demo-ohjelmat FORTUNE(6)
fortune - tulosta satunnainen, toivottavasti mielenkiintoinen elmnvi-
isaus
fortune [-aefilosw] [-n pituus] [ -m merkkijono] [[n%]
tiedosto/hakemisto/all]
Kynnistettess fortune ilman optioita se nytt satunnaisen elmnviisauden.
Nm on jaettu useisiin luokkiin, joista jokainen on edelleen jaettu
loukkaamattomiin ja mahdollisesti loukkaaviin.
OPTIOT
Tss ovat ohjelman optiot:
-a Valitse molemmista, loukkaavista ja loukkaamattomista listoista
(Katso optiosta -o listietoja loukkaavista viisauksista.)
-e Oleta kaikkien lhdetiedostojen olevan yht suuria (katso ohjeet
useiden tiedostojen kytst).
-f Nyt lista tiedostoista, joista viisauksia etsittisiin, mutta l
nyt yhtn viisautta.
-l Vain pitkt elmnviisaudet. Katso optiosta -n, kuinka ''pitk''
mritelln.
-m merkkijono
Tulosta kaikki elmnviisaudet, joissa on mainittu merkkijono.
Merkkijonon kielioppi riippuu siit, kuinka jrjestelmsi mrittelee
funktiokutsun re_comp(3) tai regcomp(3), mutta sen pitisi olla
samankaltainen syntaksiltaan kuin grep(1) kytt.
Elmnviisaudet tulostetaan vakiotulosteeseen, kun taas tiedos-
tonimet, joista ne luetaan, tulostetaan vakiovirheeseen. Kum-
matkin voidaan kuitenkin ohjata jonnekin muualle; jos vakiotu-
loste ohjataan tiedostoon, on tm hyvksytty fortune-tietokan-
tatiedosto. Jos taas mys vakiovirhe ohjataan thn samaan tiedos-
toon, on tulostiedosto yh hyvksytty, mutta siin on ''virheel-
lisi'' elmnviisauksia eli nm tiedostonimet sulkumerkkien sisll.
Tm voi kuitenkin olla kytnnllist, jos halutaan poistaa lytyneet
viisaudet tiedostoistaan, koska jokainen tiedostonimitallenne
edelt siit tiedostosta lytyneit tsmyksi.
-n pituus
Sd suurin elmnviisauden pituus (merkeiss), joka ksitetn viel
''lyhyen'' (oletusarvo on 160). Kaikki tt pidemmt ovat
''pitki''. Ole varovainen! Jos asetat arvon liian lyhyeksi ja
haluat lyhyit viisauksia, tai asetat sen liian pitkksi ja haluat
pitki, joutuu ohjelma pttymttmn silmukkaan.
-o Valitse vain mahdollisesti loukkaavista aforismeista.
Ole kiltti ja pyyd loukkaavaa aforismia vain, jos syvll
sydmesssi uskot haluavasi tulla loukatuksi (ja vain lopetat -o:n
kyttmisen sensijaan, ett tuottaisit meille mieliharmia.
Sovittu?)
... let us keep in mind the basic governing philosophy of The
Brotherhood, as handsomely summarized in these words: we believe
in healthy, hearty laughter -- at the expense of the whole human
race, if needs be. Needs be.
--H. Allen Smith, "Rude Jokes"
-s Vain lyhyet viisaudet. Katso optiota -n, kuinka ''lyhyt''
mritelln.
-i l huomioi suurten ja pienten kirjainten eroa -m-optiota kytett-
ess.
-w Odota ohjelman loppumista tietty aika, joka lasketaan jutun
sisltmien merkkien mrst. Tm ominaisuus on hydyllinen, jos
ohjelma halutaan osaksi uloskirjautumista, jolloin varmistetaan,
ett kyttj ehtii lukea viestin ennen kuin ruutu tyhjennetn.
Kyttj voi mritell uusia sanontoja. Voit mritell tiedoston tai hakemis-
ton, jossa on useita tiedostoja, tai kytt sanaa all jolloin kytetn
kaikkia normaaleja tietokantoja. Nist jokaisen eteen voidaan antaa
prosenttilukema, joka on luku n 0 ja 100 vlill, jonka perss on %. Nin
mriteltyn n prosentin todennkisyydell viisaus otetaan siit tiedostosta
tai hakemistosta. Jos prosenttilukujen summa on alle 100% ja on
annettu tiedostoja/hakemistoja, joille ei ole annettu prosenttimr,
loput prosentit menevt niille, suhteellisesti kokojen mukaan jaettuna.
Esimerkkin on kaksi tietokantaa, hassut ja ei-hassut, joista hassut on
kaksi kertaa suurempi (elmnviisauksien mrss mitattuna). Niinp
fortune hassut ei-hassut
antaa sinulle kaksi kolmasosaa ajasta viisauksia hassut-tietokannasta.
Komento
fortune 90% hassut 10% ei-hassut
ottaa 90% elmnviisauksista tiedostosta hassut (''10%'' on tarpeeton,
koska 10% on kaikki, mit on jljell).
Kyttmll optiota -e kaikki tiedostot ovat samanarvoisia, jolloin
fortune -e hassut ei-hassut
tarkoittaa samaa, kuin
fortune 50% hassut 50% ei-hassut
Tss ohjelmassa on mys tuki BSD-tyylin mukaiseen loukkaavia sanontoja
sisltvien tiedostojen merkintn, eli ''-o'':n lisykseen tiedostonimen
loppuun. Nin fortune ei kuitenkaan tallenna niit: loukkaavat elmnvi-
isaudet tallennetaan erilliseen hakemistoon ilman ''-o'' -ptett. Thn
ptteeseen loppuvasta nimest (joka ei sisll polkua eik ole hakemisto)
poistetaan pte ja se haetaan loukkaavia sanontoja sisltvst hakemistosta
(vaikkei kumpaakaan optioista -a tai -o olisi annettu). Tm ominaisuus
on sek yhteensopivuuden vuoksi ett mys siksi, ett kyttjt voivat kytt
samannimisi loukkaamattomia ja loukkaavia tietokantoja samaan aikaan.
Oletetaan esimerkiksi tietokanta, nimeltn mrittelyj, joka on kummas-
sakin, sek loukkaavissa ett loukkaamattomissa kokoelmissa. Seuraava
komento valitsee loukkaamattoman 90% ja loukkaavan lopuilla 10% ker-
roista.
fortune 90% mrittelyj mrittelyj-o
Huomaa: nm ovat knnn aikana mriteltyj oletusavoja.
/usr/share/games/fortunes
Loukkaamattomien elmnviisauksien hakemisto.
/usr/share/games/fortunes/off
Loukkaavien elmnviisauksien hakemisto.
Jos jotain elmnviisauskokoelmaa ei haluta, on helpointa poistaa tiedos-
toon liittyv .dat-tiedosto, jolloin ne kuitenkin jvt levylle silt var-
alta, ett niit tarvittaisiin myhemmin. Kun sitten fortune ei lyd tt
osoitintiedostoa, se ohittaa em. tiedoston.
Jako loukkaaviin ja loukkaamattomiin elmnviisauksiin hakemiston eik
''-o'' -ptteen avulla ei ole 100% yhteensopiva alkuperisen BSD-fortunen
kanssa. Vaikka ''-o'' -pte tunnistetaan viittaukseksi loukkaavaan
tietokantaan, niden tiedostojen on silti oltava erillisess hakemis-
tossa. Kiertotie on tietysti ''-o'' -tiedostojen siirtminen
loukkaavaan hakemistoon (uudelleen nimettyn tai ei) ja kytt optiota -a.
Mukanatoimitetut tietokannat on ksitelty niin, ett vltettisiin
oikeinkirjoitus- ja sanastovirheit sek monisanaisuutta, toistettavuutta
ja monisanaisuutta, erityisesti toistettavuutta. Tm ei ole kuitenkaan
onnistunut tydellisesti, joitakin elmnviisauksia on myskin saattanut
kadota.
Fortunen tietokannat on jaettu nyt suureen mrn pieni tiedostoja, jotkut
nimettyn muodon mukaan (arvoitukset (riddles), mrittelyt (defini-
tions)), jotkut sislln mukaan (ruoka (food), politiikka (politics)).
Hakemistoissa on samoja tiedostoja (kuten fortunes/definitions ja for-
tunes/off/definitions). Kaikki mahdollisesti loukkaavat sanonnat eivt
ole tiedostoissa, jonne ne kuuluisivat, eivtk kaikki sanonnat
loukkaavissa tiedostoissa loukkaa, vaikka suurta tyt on tehty suuremman
johdonmukaisuuden saavuttamiseksi. Parempi jaottelu olisi myskin voitu
tehd.
Tm versio pohjautuu NetBSD:n fortune 1.4:n, mutta tst on korjattu
bugeja ja listty ominaisuuksia.
Alkuperinen fortune/strfile -tiedostomuoto ksitti yhden tiedoston; str-
file luki tekstitiedoston ja muunsi sen null-ptteisiksi merkkijonoiksi,
jotka tallennettiin osoitintaulukon pern .dat-tiedostoon. NetBSD for-
tune 1.4:ss tm piti vaihtaa kahdeksi erilliseksi tiedostoksi: .dat
-tiedosto sislsi vain otsikkotiedot (osoitintaulukon ja liput, katso
strfile.h), ja itse teksti jtettiin omaan tiedostoonsa. Mahdollinen
ongelma oli, ett tekstitiedosto ja otsikkotiedosto eivt olisi ajan
tasalla, mutta hytyn taas tekstitiedostoja pystyttiin muokkaamaan ilman
jatkuvaa unstr-tietokannan uudelleenjrjestely. Mys pieni levytilan
sstj esiintyi (edellytten, ett jrjestelmnvalvojat silyttivt ennen kum-
matkin tiedostot).
Monet NetBSD-versioon tehdyist muutoksista olettivat kyttjrjestelmn
olevan Linux, eivtk toimineet muissa jrjestelmiss, kuten BSD:ss.
Lhdekoodia on sen jlkeen yleistetty ja nykyn ohjelma toimii Linuxin
ohella mys SunOS 4.x:ss. Tulevaisuudessa yh useampi jrjestelm tulee
tuetuksi. Huomaa, ett joitakin bugeja lydettiin vahingossa ja korjat-
tiin tmn prosessin aikana.
Arvatenkin moni ihminen on tystnyt tt ohjelmaa, mutta he eivt ole
jttneet nimin historiaan.
re_comp(3), regcomp(3), strfile(1), unstr(1)
BSD Experimental 6. Huhtikuuta 1998 FORTUNE(6)