dwww Home | Manual pages | Find package

FORTUNE(6)                   UNIX Reference Manual                  FORTUNE(6)

NAME
       fortune - print a random, hopefully interesting, adage

SYNOPSIS
       fortune [-acefilosuw] [-n length] [ -m pattern] [[n%] file/dir/all]

DESCRIPTION
       When  fortune  is run with no arguments it prints out a random epigram.
       Epigrams are divided into several categories, where  each  category  is
       sub-divided  into those which are potentially offensive and those which
       are not.

   Options
       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.)

       -c     Show the cookie file from which the fortune came.

       -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  don't
              print a fortune.

       -l     Long  dictums  only.   See -n on how ``long'' is defined in this
              sense.

       -m pattern
              Print out all fortunes which match the basic regular  expression
              pattern.   The  syntax  of these expressions depends on how your
              system defines re_comp(3) or regcomp(3), but it should neverthe-
              less be similar to the syntax used in grep(1).

              The  fortunes  are output to standard output, while the names of
              the file from which each fortune comes are printed  to  standard
              error.   Either or both can be redirected; if standard output is
              redirected to a file, the result is a  valid  fortunes  database
              file.   If  standard  error is also redirected to this file, the
              result is still valid, but there  will  be  ``bogus''  fortunes,
              i.e. the filenames themselves, in parentheses.  This can be use-
              ful if you wish to remove the gathered matches from their origi-
              nal  files,  since each filename-record will precede the records
              from the file it names.

       -n length
              Set the longest fortune length (in characters) considered to  be
              ``short''  (the  default is 160).  All fortunes longer than this
              are considered ``long''.  Be careful!  If you set the length too
              short  and  ask for short fortunes, or too long and ask for long
              ones, fortune goes into a never-ending thrash loop.

       -o     Choose only from potentially offensive aphorisms.  The -o option
              is ignored if a fortune directory is specified.

              Please,  please,  please request a potentially offensive fortune
              if and only if you believe, deep in your  heart,  that  you  are
              willing  to  be  offended.  (And  that you'll 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.  Needs be.
                     --H. Allen Smith, "Rude Jokes"

       -s     Short  apothegms  only.  See -n on which fortunes are considered
              ``short''.

       -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 executed as part of the logout procedure  to  guarantee  that
              the message can be read before the screen is cleared.

       -u     Don't  translate  UTF-8 fortunes to the locale when searching or
              translating.

       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 a n percent probability
       that  an  adage will be picked from that file or directory. If the per-
       centages do not sum to 100, and there are specifications  without  per-
       centages, the remaining percent will apply to those files and/or direc-
       tories, 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 (in number of fortunes, not raw file size), 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's 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

FILES
       Note: these are the defaults as defined at compile time.

       /usr/share/games/fortunes
              Directory for innoffensive fortunes.
       /usr/share/games/fortunes/off
              Directory for offensive fortunes.

       If  a  particular set of fortunes is particularly unwanted, there is an
       easy solution: delete the associated .dat file.  This leaves  the  data
       intact,  should  the  file later be wanted, but since fortune no longer
       finds the pointers file, it ignores the text file.

BUGS
       The supplied fortune databases have been attacked, in order to  correct
       orthographical  and  grammatical errors, and particularly to reduce re-
       dundancy and repetition and redundancy.  But especially to avoid  repe-
       titiousness.   This  has  not been a complete success.  In the process,
       some fortunes may also have been lost.

       The fortune databases are now divided into a larger number  of  smaller
       files, some organized by format (poetry, definitions), and some by con-
       tent (religion, politics).  There are parallel files in the main direc-
       tory  and  in the offensive files directory (e.g., fortunes/definitions
       and fortunes/off/definitions).  Not all the potentially offensive  for-
       tunes  are in the offensive fortunes files, nor are all the fortunes in
       the offensive files potentially offensive, probably,  though  a  strong
       attempt  has  been made to achieve greater consistency.  Also, a better
       division might be made.

       When passing files to fortune, directories must be specified  by  abso-
       lute  pathnames,  and  filenames  starting with a dot are ignored. See:
       http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=241888

HISTORY
       This version of fortune is based on the NetBSD fortune 1.4, but with  a
       number of bug fixes and enhancements.

       The  original  fortune/strfile  format used a single file; strfile read
       the text file and converted it to null-delimited  strings,  which  were
       stored after the table of pointers in the .dat file.  By NetBSD fortune
       1.4, this had changed to two separate files: the .dat file was only the
       header (the table of pointers, plus flags; see strfile.h), and the text
       strings were left in their own file.  The potential problem  with  this
       is  that text file and header file may get out of synch, but the advan-
       tage is that the text files can be easily edited without  resorting  to
       unstr,  and  there is a potential savings in disk space (on the assump-
       tion that the sysadmin kept both .dat file with strings  and  the  text
       file).

       Many  of  the enhancements made over the NetBSD version assumed a Linux
       system, and thus caused it to fail  under  other  platforms,  including
       BSD.   The  source code has since been made more generic, and currently
       works on SunOS 4.x as well as Linux, with support  for  more  platforms
       expected in the future.  Note that some bugs were inadvertently discov-
       ered and fixed during this process.

       At a guess, a great many people have worked on this program, many with-
       out leaving attributions.

SEE ALSO
       re_comp(3), regcomp(3), strfile(1), unstr(1)

BSD Experimental             19 April 94 [May. 97]                  FORTUNE(6)

Generated by dwww version 1.15 on Thu Jun 20 14:23:48 CEST 2024.