FORTUNE(1) General Commands Manual FORTUNE(1)NAME
fortune - print a fortune
fortune # Print a fortune
Fortune prints a fortune at random from the fortunes file, /usr/lib/fortune.dat. This file consists of pieces of text separated by a line
containing only %%.
Check Out this Related Man Page
FORTUNE(6) BSD Games Manual FORTUNE(6)NAME
fortune -- print a random, hopefully interesting, adage
fortune [-aDefilosw] [-m pattern] [[N%] file/directory/all]
When fortune is run with no arguments it prints out a random epigram. Epigrams are divided into several categories, where each category is
subdivided into those which are potentially offensive and those which are not. The options are as follows:
-a Choose from all lists of maxims, both offensive and not. (See the -o option for more information on offensive fortunes.)
-D Enable additional debugging output. Specify this option multiple times for more verbose output. Only available if compiled with
-e Consider all fortune files to be of equal size (see discussion below on multiple files).
-f Print out the list of files which would be searched, but do not print a fortune.
-l Long dictums only.
Print out all fortunes which match the regular expression pattern. See regex(3) for a description of patterns.
-o Choose only from potentially offensive aphorisms. Please, please, please request a potentially offensive fortune if and only if you
believe, deep down in your heart, that you are willing to be offended. (And that if you are not willing, you will just quit using -o
rather than give us grief about it, okay?)
... 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.
--H. Allen Smith, "Rude Jokes"
-s Short apothegms only.
-i Ignore case for -m patterns.
-w Wait before termination for an amount of time calculated from the number of characters in the message. This is useful if it is exe-
cuted as part of the logout procedure to guarantee that the message can be read before the screen is cleared.
The user may specify alternate sayings. You can specify a specific file, a directory which contains one or more files, or the special word
all which says to use all the standard databases. Any of these may be preceded by a percentage, which is a number N between 0 and 100 inclu-
sive, followed by a '%'. If it is, there will be an N percent probability that an adage will be picked from that file or directory. If the
percentages do not sum to 100, and there are specifications without percentages, the remaining percent will apply to those files and/or
directories, in which case the probability of selecting from one of them will be based on their relative sizes.
As an example, given two databases funny and not-funny, with funny twice as big, saying
fortune funny not-funny
will get you fortunes out of funny two-thirds of the time. The command
fortune 90% funny 10% not-funny
will pick out 90% of its fortunes from funny (the ``10% not-funny'' is unnecessary, since 10% is all that is left). The -e option says to
consider all files equal; thus
fortune -e funny not-funny
is equivalent to
fortune 50% funny 50% not-funny
FORTUNE_PATH The search path for the data files. It is a colon-separated list of directories in which fortune looks for data files. If not
set it will default to /usr/share/games/fortune. If none of the directories specified exist, it will print a warning and exit.
If set, fortune will save some state about what fortune it was up to on disk.
/usr/share/games/fortune/* the fortunes databases (those files ending ``-o'' contain the offensive fortunes)
SEE ALSO arc4random_uniform(3), regcomp(3), regex(3), strfile(8)BSD November 7, 2007 BSD