Cowsay: настраиваемая говорящая и думающая корова

Алексей Бешенов

2008-03-05

Оригинал: «cowsay: a configurable talking and thinking cow», 28 октября 2007 г.

Cowsay  — бесполезный, но очень смешной текстовый фильтр, написанный на Perl. Если направить какой-то текст программе cowsay, то вы увидите проговаривающую его ASCII-корову. Например, команда cowsay Hello, World! Печатает

 _______________
< Hello, World! >
 ---------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||


Чтобы получить думающую корову, запустите cowthink:
$ cowthink Hello, World!
 _______________
( Hello, World! )
 ---------------
        o   ^__^
         o  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||
Если не указана опция -n, то программа переносит по строкам длинные тексты. Позицию, на которой проходит перенос, задает -W (по умолчанию, перенос делается на 40-й колонке или раньше). Все, что остается после опций командной строки, воспринимается как сообщение коровы. Иначе можно отправить текст в стандартный ввод программы. Скучные или надоедливые вещи можно пропускать через говорящую или думающую корову, так гораздо веселей:
$ uptime | cowthink -d
 _____________________________________
(  19:16:39 up 4 days, 22:50, 1 user, )
( load average: 2.21, 1.74, 1.42      )
 -------------------------------------
        o   ^__^
         o  (xx)\_______
            (__)\       )\/\
             U  ||----w |
                ||     ||
Здесь -d определяет дохлую корову. Другие смешные режимы:
  • -g — жадная корова
  • -p — параноидальная корова
  • -s — пьяная корова
  • -t — усталая корова
  • -w — офигевшая корова
  • -y — молодая корова

-e задает коровьи глаза (по умолчанию — -e oo), язык задает -T (по умолчанию — без языка).

Можно использовать других персонажей, к Cowsay прилагается много файлов (на деле это код Perl) в /usr/share/cowsay/cows. Список тем можно получить, запустив cowsay с опцией -l:

apt, beavis.zen, bong, bud-frogs, bunny, cheese, cower, daemon, default, dragon, dragon-and-cow, elephant, elephant-in-snake, eyes, flaming-sheep, ghostbusters, head-in, hellokitty, kiss, kitty, koala, kosh, luke-koala, mech-and-cow, meow, milk, moofasa, moose, mutilated, ren, satanic, sheep, skeleton, small, sodomized, sodomized-sheep, stegosaurus, stimpy, supermilker, surgery, telebears, three-eyes, turkey, turtle, tux, udder, vader, vader-koala, www.

-f указывает файл с темой (режимы -dgpstwy в некоторых случаях могут не работать, как и опции -T и -e):

$ cowsay -f moose Hi!
 _____
< Hi! >
 -----
  \
   \   \_\_    _/_/
    \      \__/
           (oo)\_______
           (__)\       )\/\
               ||----w |
               ||     ||
Cowsay написал Тони Монро. Текущая стабильная ветка — 3.xx, но для тестирования с официальной странички можно скачать Cowsay 4. Пакеты Cowsay есть в Debian, начиная со старой стабильной ветки, и заканчивая нестабильной и экспериментальной, а также в Ubuntu Dapper, Edgy, Feisty, Gutsy. Конечно, программа зависит от Perl.