фортуна (Unix)

Команда Unix для печати случайного сообщения
удача
Оригинальный автор(ы)Кен Арнольд
Первоначальный выпуск1979 ; 45 лет назад ( 1979 )
Репозиторий
  • openbsd.su/src/games/fortune/
Написано вС
Операционная системаUnix , Unix-подобный , Plan 9 , Inferno
ТипКоманда
ЛицензияПлан 9: Лицензия MIT

fortune— программа, которая отображает псевдослучайное сообщение из базы данных цитат. Ранние версии программы появились в версии 7 Unix в 1979 году. [1] Наиболее распространенной версией на современных системах является BSD fortune , изначально написанная Кеном Арнольдом . [2] Распределения удачи обычно поставляются с набором тематических файлов, содержащих высказывания, подобные тем, что можно найти в печеньях с предсказаниями (отсюда и название), цитаты известных людей, шутки или поэзию.

fortuneв основном встречается в Unix-подобных системах, но существуют и клиенты для других платформ. [3] Часто пользователи текстовых терминалов Unix помещают эту команду в свои файлы .profileили .logoutдля их отображения при входе и выходе соответственно. Она также используется для генерации текстового ввода для определенных режимов XScreenSaver . Можно передать fortune в команду cowsay , чтобы добавить больше юмора в диалог.

Содержание

Большинство систем Unix используют предсказания, которые в значительной степени ориентированы на пользовательскую базу Unix, и поэтому содержат много неясных шуток о компьютерной науке и программировании . Другие предпочтительные источники включают цитаты из научной фантастики ( Star Trek , The Cyberiad , Doctor Who , The Hitchhiker's Guide to the Galaxy и т. д.), Zippy the Pinhead и сочинения Амброуза Бирса и Дэйва Барри . [4] Большинство коллекций предсказаний также включают широкий спектр более традиционных цитат, шуток и других коротких отрывков. Несколько дистрибутивов включают «оскорбительные» изречения, для просмотра которых требуется передать параметры -aили -o. Эти предсказания часто включают грубый юмор и ненормативную лексику, личные нападки и спорные комментарии о религии. Иногда они предоставляются другим пакетом, однако с FreeBSD 10.0 оскорбительные изречения были полностью удалены. [5] По состоянию на ноябрь 2017 года цитаты (за исключением советов, относящихся к работе системы) были полностью удалены из FreeBSD после жалоб пользователей на то, что в некоторых файлах содержатся цитаты Адольфа Гитлера . [6] Точные fortunes различаются в зависимости от типа Unix, однако, похоже, что файлы fortune FreeBSD и OpenBSD сильно перекрываются . Файлы fortune Plan 9 кажутся намного короче, многие из них всего на одной строке, а «оскорбительные» изречения намного сильнее. Большинство дистрибутивов Linux, таких как Debian (и его производные ), выбирают fortunes FreeBSD для размещения в своих пакетах fortune, которые можно установить через менеджер пакетов.

Цель

Одно из включенных предсказаний из сборника предсказаний «Гёдель» о fortuneсебе резюмирует цель программы:

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.

Оригинальную fortuneпрограмму можно было использовать для более общей задачи — извлечения случайной строки из текстового файла. [7] Однако в большинстве современных систем Unix fortuneее нельзя использовать таким образом, поскольку они используют специальный формат файла для файлов предсказаний, позволяющий использовать многострочные афоризмы.

Файлы Фортуны

Обычные версии fortuneиспользуют два файла для каждого списка цитат: текстовый файл с цитатами, каждая из которых разделена символом "%" на своей строке, и файл данных произвольного доступа, сгенерированный программой strfile(1). Альтернативные реализации, включая те, которые сделаны для отображения на веб-страницах, обычно используют только текстовый файл.

Обычные варианты

Существует несколько распространенных опций, которые изменяют поведение командной строки fortune:

ВариантДействие
-aВыбирайте из всех баз данных, независимо от того, считаются ли они «оскорбительными» или нет.
-eСделать вероятность выбора файла с предсказаниями равной вероятности выбора всех остальных файлов
-fРаспечатать список всех файлов с предсказаниями, которые можно было бы найти, но не распечатывать предсказание
-iПри использовании с -m, делает поиск по регулярному выражению нечувствительным к регистру.
-lИспользуйте только цитаты, длина которых больше, чем указано с помощью -n, или 160 символов, если -nне используется
-m [pattern]Распечатать все предсказания, соответствующие регулярному выражению, указанному в[pattern]
-n [length]Переопределить длину, используемую -lи -sдля определения «длинных» и «коротких» сообщений (по умолчанию 160 символов)
-oВыбирайте только из «оскорбительных» баз данных
-sИспользуйте только цитаты короче, чем длина, указанная с помощью -n, или 160 символов, если -n не используется.
-wПодождите некоторое время перед завершением; полезно в ситуациях, когда необходимо прочитать предсказание, прежде чем экран очистится.

Смотрите также

Ссылки

  1. ^ "V7/usr/src/games/fortune.c". tuhs.org . Получено 2024-02-10 .
  2. ^ "[base] Содержимое /head/usr.bin/fortune/fortune/fortune.c". svnweb.freebsd.org . Получено 2018-09-15 . Этот код получен из программного обеспечения, предоставленного Беркли Кеном Арнольдом.
  3. ^ "Банка с файлами удачи". fortunes.cat-v.org .
  4. ^ "Исходные файлы Debian: fortune 1:1.99.1-7, папка "datfiles"". sources.debian.org . Получено 15.09.2018 .
  5. ^ "Fortune - журнал удаления". FreeBSD SVN . FreeBSD. 2013-03-12 . Получено 2014-06-14 .
  6. ^ "[base] Revision 325828". svnweb.freebsd.org . 2017-11-14 . Получено 2018-04-14 .
  7. ^ Том Дафф. "rc documentation". plan9.bell-labs.com . Архивировано из оригинала 2014-09-08. Сначала программа угадывает местоположение (в ), используя программу для выбора случайной строки из списка местоположений.$labfortune
  • fortune(1) –  Руководство программиста Plan 9 , том 1
  • fortune(6) –  Руководство по играм для Linux
  • PHP-версия программы fortune
  • Страница руководства для оригинальной команды Unix fortune(6).
  • Техническая версия исходного кода fortune-mod - на GitHub с новыми релизами
    • ftp://ftp.ibiblio.org/pub/linux/games/amusements/fortune/ – исходный код программы fortune-mod
  • Вики, содержащая все оригинальные неоскорбительные предсказания
  • Современная база данных состояний, ориентированная на цветной терминал
  • Мод-дополнение для предсказаний, связанных с математикой
  • Портативная и полная реализация на Python, распространяемая со всеми классическими и историческими файлами cookie.
Взято с "https://en.wikipedia.org/w/index.php?title=Fortune_(Unix)&oldid=1232114040"