fortune(6) - Linux man page

FORTUNE(6)		     UNIX Reference Manual		    FORTUNE(6)



NAME
       fortune - print a random, hopefully interesting, adage

SYNOPSIS
       fortune [-acefilsw] [-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.

   Options
       The options are as follows:

       -a     Choose from all lists of maxims.

       -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 dont
	      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 bbogufortunes,
	      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.

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

       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 thats 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/fortune
	      Directory for 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
       redundancy and repetition and redundancy.  But especially to avoid rep-
       etitiousness.   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).

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)