fortune est un programme simple qui affiche un message au hasard provenant d'une base de données de citations. La plupart des distributions de fortune comprennent des fichiers de citations de personnalités célèbres, de phrases telles que celles des fortune cookies (d'où le nom), et d'autres messages humoristiques. Fortune se trouve principalement sur les systèmes UNIX, mais des clients pour d'autres plateformes existent également. Souvent les utilisateurs de terminaux Unix en mode texte placent cette commande dans leurs fichiers .profile et/ou .logout pour les afficher à la connexion et à la déconnexion, respectivement.
La plupart des systèmes Unix utilisent des ensembles de fortunes plus ou moins équivalents. Les fortunes étant destinées aux utilisateurs Unix contiennent de nombreuses plaisanteries concernant l'informatique et la programmation. D'autres sources favorites sont constituées de citations provenant de la science-fiction (Star Trek, The Cyberiad, Doctor Who, Le Guide du voyageur galactique, etc.), et les œuvres de Ambrose Bierce et Dave Barry. Par ailleurs, les collections de fortunes incluent souvent une grande diversité de citations de source plus conventionnelle, des blagues et autres extraits. Certaines distributions incluent des fortunes dites "offensives", qui requièrent les options "-a" ou "-o" afin d'être affichées (voir #Options communes ci-dessous).
Les versions conventionnelles de fortune utilisent deux fichiers pour chaque liste de citations : un fichier texte avec les citations, séparées par une ligne avec le caractère %, et un fichier pour l'accès aléatoire des données généré par le programme strfile(8). Les implémentations alternatives, telles que celles faites pour l'affichage sur des pages Web, n'utilisent souvent que le fichier texte.
Une commande fortune apparut pour la première fois dans UNIX version 7. La version la plus commune dans les systèmes actuels est celle de BSD, dont l'auteur original est Ken Arnold.
Diverses options communes permettent de changer la façon dont se comportent les versions en ligne de commande de fortune :
Option | Action |
---|---|
-a | Choisit dans toutes les listes de maximes, qu'elles soient blessantes (offensive) ou pas |
-e | Rend la probabilité de choisir un fichier de fortunes égale à celle de tous les autres fichiers |
-f | Affiche la liste des fichiers qui seraient parcourus, mais n'affiche pas de fortune |
-i | Ignore la casse (majuscule/minuscule) pour les motifs de l'option -m |
-l | N'utilise que les citations de longueur supérieure à celle spécifiée avec -n, ou 160 caractères si -n n'est pas utilisée |
-m [motif] | Affiche toutes les fortunes correspondant à l'expression rationnelle spécifiée dans [motif] |
-n [longueur] | Remplace la longueur utilisée par -l et -s pour distinguer les messages « longs » des « courts » (par défaut 160 caractères) |
-o | Ne choisit qu'à partir des bases de données « blessantes » (offensive) |
-s | N'utilise que les citations plus courtes que la longueur spécifiée avec -n, ou 160 caractères si -n n'est pas utilisée |
-w | Attend avant de quitter pendant un certain temps calculé à partir du nombre de caractères du message. Utile si fortune est exécuté à partir de la procédure de sortie du système pour assurer que le message peut être lu avant que l'écran ne soit vidé |