Fortune_(Unix)

fortune (Unix)

fortune (Unix)

Unix command to print a random message


fortune is a program that displays a pseudorandom message from a database of quotations. Early versions of the program appeared in Version 7 Unix in 1979.[1] The most common version on modern systems is the BSD fortune, originally written by Ken Arnold.[2] Distributions of fortune are usually bundled with a collection of themed files, containing sayings like those found on fortune cookies (hence the name), quotations from famous people, jokes, or poetry.

Quick Facts Original author(s), Initial release ...

fortune is predominantly found on Unix-like systems, but clients for other platforms also exist.[3] Often, users on text-mode Unix terminals will place this command into either their .profile or .logout files to display them at logon and logout, respectively. It is also used to generate text input for certain XScreenSaver modes. It is possible to pipe fortune into the cowsay command, to add more humor to the dialog.

Content

Most Unix systems use fortunes which are slanted heavily toward the user base of Unix, and thus contain many obscure jokes about computer science and computer programming. Other favoured sources include quotations from science fiction (Star Trek, The Cyberiad, Doctor Who, The Hitchhiker's Guide to the Galaxy, etc.), Zippy the Pinhead, and the writings of Ambrose Bierce and Dave Barry.[4] Most fortune collections also include a wide variety of more conventionally sourced quotations, jokes, and other short passages. A few distributions include "offensive" dicta, which require the -a or -o options to be passed for viewing. These fortunes often include rude humor and profanity, personal attacks, and controversial comments about religion. Sometimes they are provided by another package, however as of FreeBSD 10.0 the offensive dicta have been removed completely.[5] As of November 2017, the quotations (with the exception of tips relevant to system operation) have been removed from FreeBSD entirely after user complaints regarding quotations from Adolf Hitler being contained in some of the files.[6] The exact fortunes vary between each type of Unix, however there seems to be a strong overlap between the FreeBSD and OpenBSD fortune files. The Plan 9 fortune files seem to be much shorter, with many just on 1 line, and the 'offensive' dicta is much stronger. Most Linux distributions, such as Debian (and its derivatives), choose the FreeBSD fortunes to put in their fortune packages, that can be installed through the package manager.

Purpose

One of the included fortunes, from the "goedel" collection of fortunes about fortune itself, sums up the purpose of the program:

Has anyone realized that the purpose of the fortune cookie program is to
defuse project tensions? When did you ever see a cheerful cookie, a
non-cynical, or even an informative cookie?
  Perhaps inadvertently, we have a channel for our aggressions. This
still begs the question of whether the cookie releases the pressure or only
serves to blunt the warning signs.

  Long live the revolution!
  Have a nice day.

The original fortune program could be used for the more general task of picking up a random line from a plain-text file. The example of such use is given in the rc documentation Archived 2014-09-08 at the Wayback Machine. However, in most modern Unix systems fortune cannot be used this way, since they use an ad hoc file format for fortune files to allow multiline aphorisms.

Fortune files

Conventional versions of fortune use two files for each quotation list: a text file with quotations, each separated by the character "%" on its own line, and a random-access data file generated by the strfile(1) program. Alternative implementations, including those made for display on Web pages, typically use only the text file.

Common options

Several common options exist that change the way command-line versions of fortune behave:

More information Option, Action ...

See also


References

  1. "V7/usr/src/games/fortune.c". tuhs.org. Retrieved 2024-02-10.
  2. "[base] Contents of /head/usr.bin/fortune/fortune/fortune.c". svnweb.freebsd.org. Retrieved 2018-09-15. This code is derived from software contributed to Berkeley by Ken Arnold.
  3. "Jar of Fortune Files". fortunes.cat-v.org.
  4. "Debian Sources: fortune 1:1.99.1-7, "datfiles" folder". sources.debian.org. Retrieved 2018-09-15.
  5. "Fortune - removal log". FreeBSD SVN. FreeBSD. 2013-03-12. Retrieved 2014-06-14.
  6. "[base] Revision 325828". svnweb.freebsd.org. 2017-11-14. Retrieved 2018-04-14.

Share this article:

This article uses material from the Wikipedia article Fortune_(Unix), and is written by contributors. Text is available under a CC BY-SA 4.0 International License; additional terms may apply. Images, videos and audio are available under their respective licenses.