Linux

CentOS 4.8

fortune(6)


FORTUNE

NOM

fortune − affiche un adage choisi au hasard, qu’on espère intéressant

SYNOPSIS

fortune [-aefilosw] [-n longueur] [ -m motif] [[n%] fichier/répertoire/all]

DESCRIPTION

Quand fortune est lancé sans arguments, il affiche un épigramme aléatoire. Les épigrammes sont divisés en plusieures catégories, chaque catégorie étant divisée entre ceux qui sont potentiellement blessants et ceux qui ne le sont pas.

Options

Les options sont les suivantes :

-a

Choisit dans toutes les listes de maximes, qu’elles soient blessantes ou pas. (Voir l’option -o pour plus d’informations sur les fortunes blessantes).

-e

Considère que tous les fichiers de fortunes sont de la même taille (lire la discussion plus bas sur les fichiers multiples).

-f

Affiche la liste des fichiers qui seraient parcourus, mais n’affiche pas de fortune.

-l

Citations longues seulement. Voir l’option -n sur la définition de « long » dans ce contexte.

-m motif

Affiche toutes les fortunes reconnues par le motif de l’expression régulière de base. La syntaxe de ces expressions dépend de la définition donnée par votre système de re_comp(3) ou regcomp(3), mais elle devrait néanmoins être similaire à la syntaxe utilisée dans grep(1).

Les fortunes sont imprimées sur la sortie standard, tandis que les noms des fichiers dont sont tirées les fortunes sont imprimées sur le canal d’erreur standard. L’un ou l’autre, ou les deux, peuvent être redirigées ; si la sortie standard est redirigée sur un fichier, le résultat est un fichier de base de données de fortunes valide. Si le canal d’erreur standard est également redirigé sur ce fichier, le résultat est encore valable, mais il y aura des « fausses » fortunes, c.-à-d. les noms de fichier eux-mêmes, entre parenthèses. Cela peut être utile si vous voulez enlever les correspondances rassemblées de leurs fichiers d’origine, puisque chaque nom de fichier précédera les enregistrements de ce fichier.

-n longueur

Règle la taille de la plus longue fortune (en nombre de caractères) considérée comme « courte » (la valeur par défaut est 160). Toutes les fortunes dépassant cette longueur sont considérées comme étant « longues ». Faites attention ! Si vous définissez une taille trop petite et que vous demandez des fortunes courtes, ou trop grande et que vous en demandez des longues, fortune entre dans une boucle infinie qui fera planter le programme.

-o

Choisit seulement des aphorismes potentiellement blessants.

SVP, svp, ne demandez une fortune potentiellement blessante que si, et seulement si, vous croyez, tout au fond de votre coeur, que vous êtes disposé à vous faire insulter. (et que vous arrêterez simplement d’utiliser -o plutôt que de nous insulter à ce sujet, d’accord ?)

... gardons à l’esprit la simple philosophie qui gouverne la confrérie, si magnifiquement résumée dans ces mots : nous croyons en un rire sain, chaleureux -- aux dépens de la race humaine dans sa totalité, si nécessaire. Si nécessaire.

--H. Allen Smith, "Plaisanteries grossières ?

-s

Aphorismes courts seulement. Voir l’option -n sur la définition d’une fortune « courte ».

-i

Ignore la casse pour les motifs de l’option -m

-w

Attend avant de quitter pendant un certain temps calculé à partir du nombre de caractères du message. C’est une option 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é.

L’utilisateur peut spécifier des fortunes alternatives. Vous pouvez spécifier un fichier précis, un répertoire qui contient un ou plusieurs fichiers, ou le mot spécial all qui spécifie l’utilisation de toutes les bases de données standards. Toutes ces options peuvent être précédées par un pourcentage, c.-à-d. un nombre n entre 0 and 100 inclus, suivi par un %. Si cette option est spécifiée, il y aura une probabilité de n pour-cents qu’un adage sera choisi dans ce fichier ou ce répertoire. Si la somme des pourcentages n’est pas égale à 100, et qu’il y a des spécifications sans pourcentage, les pour-cents restants s’appliqueront à ces fichiers et/ou ces répertoires, auquel cas la probabilité de sélection parmi un de ceux-là sera basée sur leurs tailles respectives.

Par exemple, avec deux bases de données drôle and pas−drôle, avec drôle deux fois plus gros (en nombre de fortunes, pas en taille brute), taper

fortune drôle pas-drôle

vous donnera des fortunes provenant de drôle deux fois sur trois. La commande

fortune 90% drôle 10% pas-drôle

choisira 90 % de ses fortunes dans drôle (le « 10 % pas-drôle » n’est pas nécessaire, puisqu’il ne reste plus que 10 %).

L’option -e fera que tous les fichiers seront considérés égaux ; ainsi

fortune -e drôle pas-drôle

est équivalent à

fortune 50% drôle 50% pas-drôle

Ce fortune supporte aussi la méthode BSD pour ajouter «-o» au nom des bases de données pour spécifier les fortunes blessantes. Cependant, ce n’est pas ainsi que fortune les stocke : les fortunes blessantes sont stockées dans un répertoire différent sans l’ajout du «-o» final. Un simple nom (c.-à-d., pas un chemin vers un fichier ou un répertoire) qui finit en «-o» sera supposé désigner une base de données blessante, et, son suffixe ayant été enlevé, sera cherché dans le répertoire blessant (même si aucune des options -a or -o n’a été spécifiée). Cette option n’est pas seulement une option de compatibilité, mais permet aussi aux utilisateurs de distinguer les bases de données inoffensives et blessantes qui portent le même nom.

Par exemple, en supposant qu’il existe une base de données appelée définitions dans les deux collections inoffensive et blessante, alors la commande suivante sélectionnera une définition inoffensive 90 % du temps, et une potentiellement blessante sur les 10 % restants :

fortune 90% définitions définitions-o

FICHIERS

Note : ce sont les réglages par défaut fixés à la compilation.

/home/compil/tmp/fortune-mod-buildroot/usr/share/games/fortunes

Répertoire des fortunes innofensives.

/home/compil/tmp/fortune-mod-buildroot/usr/share/games/fortunes/off

Répertoire des fortunes blessantes.

Si une série particulière de fortunes n’est vraiment pas la bienvenue, il y a une solution facile : supprimer le fichier .dat associé. Les données restent intactes, au cas où on voudrait les utiliser plus tard, mais comme fortune ne trouve plus le fichiers de pointeurs, il ignorera le fichier texte.

BUGS

La division de fortunes blessantes/inoffensives par répertoire, plutôt qu’avec le suffixe «-o» de fichier, n’est pas 100 % compatible avec le fortune original BSD. Même si le suffixe «-o» est reconnu comme faisant référence à une base de données blessante, les fichiers de la base de données blessante doivent encore se trouver dans un répertoire séparé. Il est possible d’éviter le problème, bien sür, en déplaçant les fichiers «-o» dans le répertoire blessant (avec ou sans retitrage), et d’utiliser l’option -a

Les bases de données fournies ont été attaquées, afin de corriger les erreurs d’orthographe et de grammaire, et surtout pour réduire la redondance et les répétitions. Mais surtout pour éviter la répétitivité. Cela n’a pas été un succès total. Dans le processus, quelques fortunes ont pu également avoir été perdues.

Les bases de données sont maintenant divisées en un plus grand nombre de plus petits dossiers, certains organisés par format (poésie, définitions), et certains par contenu (religion, politique). Il y a des fichiers en double dans le répertoire principal et dans celui des fichiers blessants (par exemple, fortunes/définitions et fortunes/off/définitions). Toutes les fortunes potentiellement blessantes ne se trouvent pas dans les fichiers blessants, comme toutes les fortunes dans ces fichiers ne sont pas potentiellement blessantes, probablement, même si tout a été fait pour obtenir une cohérence plus grande. De plus, une meilleure séparation sera peut-être réalisée.

HISTORIQUE

Cette version de fortune est basée sur NetBSD fortune 1.4, mais contient une série de résolution de bugs et d’améliorations.

Le format d’origine fortune/strfile utilisait un seul fichier ; strfile lisait le fichier texte et le convertissait en chaînes délimitées par le caractère nul, qui étaient stockées après le tableau des pointeurs dans le fichier .dat. À partir de NetBSD fortune 1.4, deux fichiers séparés ont désormais été utilisés : le fichier .dat était seulement l’en-tête (le tableau des pointeurs, plus les drapeaux ; voir strfile.h), et les chaînes de texte étaient laissées dans leur propre fichier. Le problème potentiel ici est que les fichiers texte et d’en-tête peuvent se désynchroniser, mais cela permet l’édition simple des fichiers textes sans avoir recours à unstr, et il y a des économies potentielles d’espace disque (avec l’hypothèse que l’administrateur système garde les deux fichiers .dat avec les chaînes et les fichiers texte).

La plupart des améliorations par rapport à la version NetBSD supposent un système Linux, ce qui le faisait planter sur d’autres plate-formes, y compris les BSD. Le code source a depuis été rendu plus générique, et il fonctionne actuellement sur SunOS 4.x aussi bien que sur Linux, avec un support pour plus de plates-formes espéré pour le futur. Notez que certains bugs ont été découverts de manière accidentelle et réglés pendant ce processus.

À première vue, un grand nombre de personnes ont travaillé sur ce programme, la plupart sans laisser de traces.

VOIR AUSSI

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

TRADUCTION

Bernard ’Voyageur’ Cafarelli <bcafarel@messel.emse.fr>


fortune(6)