# phpman > man > FORTUNE(6)

[FORTUNE(6)](https://www.chedong.com/phpMan.php/man/FORTUNE/6/markdown)                              UNIX Reference Manual                             [FORTUNE(6)](https://www.chedong.com/phpMan.php/man/FORTUNE/6/markdown)



## 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 -o
              information on offensive fortunes.)

### -c

### -e
              files).

### -f

### -l -n

### -m
              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)](https://www.chedong.com/phpMan.php/man/comp/3/markdown) or [**regcomp**(3)](https://www.chedong.com/phpMan.php/man/regcomp/3/markdown),  but
              it should nevertheless be similar to the syntax used in [**grep**(1)](https://www.chedong.com/phpMan.php/man/grep/1/markdown).

              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 useful if you wish to remove the  gathered  matches  from  their  original
              files, since each filename-record will precede the records from the file it names.

### -n
              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
              tune directory is specified.

              **Please,**  **please,** **please** **request** **a** **potentially** **offensive** **fortune** **if** **and** **only** **if** **you** **be**‐‐
              **lieve,** **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 hand‐
              somely summarized in these words: we believe in healthy, hearty laughter -- at the ex‐
              pense of the whole human race, if needs be.  Needs be.
                     --H. Allen Smith, "Rude Jokes"

### -s -n

### -i

### -w
              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

       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  data‐
       bases.   Any  of these may be preceded by a percentage, which is a number _n_ between 0 and 100
       inclusive, 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 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 (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 redundancy and repetition and redundancy.  But
       especially to avoid repetitiousness.  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 content (religion, politics).  There are  paral‐
       lel  files in the main directory and in the offensive files directory (e.g., fortunes/defini‐
       tions and fortunes/off/definitions).  Not all the potentially offensive fortunes are  in  the
       offensive  fortunes files, nor are all the fortunes in the offensive files potentially offen‐
       sive, 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 absolute pathnames, and file‐
       names  starting  with  a  dot   are   ignored.   See:   <http://bugs.debian.org/cgi-bin/bugre>‐
       port.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  con‐
       verted  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 advantage is that the text files can be easily edited without
       resorting to unstr, and there is a potential savings in disk space (on  the  assumption  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 discovered and  fixed  during
       this process.

       At  a  guess,  a great many people have worked on this program, many without leaving attribu‐
       tions.

## SEE ALSO
       **re**___**[comp**(3)](https://www.chedong.com/phpMan.php/man/comp/3/markdown), [**regcomp**(3)](https://www.chedong.com/phpMan.php/man/regcomp/3/markdown), [**strfile**(1)](https://www.chedong.com/phpMan.php/man/strfile/1/markdown), [**unstr**(1)](https://www.chedong.com/phpMan.php/man/unstr/1/markdown)



BSD Experimental                        19 April 94 [May. 97]                             [FORTUNE(6)](https://www.chedong.com/phpMan.php/man/FORTUNE/6/markdown)
