Как я могу настроить cowsay?

18

Я установил cowsayи fortune. Я хочу установить свои собственные разговоры или тексты cowsay. Но я не могу это настроить. Когда я открываю терминал, ничего не происходит cowsay. Я хочу показать, cowsayкогда я запускаю терминал.

Но это работает:

hash@ssl50:~$ cowsay -f tux "Carry on"

< carry on >
----------
   \
    \
        .--.
       |o_o |
       |:_/ |
      //   \ \
     (|     | )
    /'\_   _/`\
    \___)=(___/
Фахад Ахаммед
источник

Ответы:

13

Ну, в Linux Mint есть забавная вещь, которую вы можете сделать: написать скрипт для выбора коровы и отобразить сообщение от состояния . Я доберусь до этого позже. Когда у вас есть сценарий, все, что вам нужно сделать, это выполнить его. Как было предложено ранее, отредактируйте файл ~ / .bashrc и добавьте в конце строку, содержащую путь к вашему сценарию. Например, если у вас есть сценарий в вашей домашней папке и имя файла сценария «cowscript», то вы можете добавить следующую строку в конец вашего файла ~ / .bashrc:

$HOME/cowscript

Теперь скрипт, используемый в Linux Mint 9, выглядит следующим образом:

#!/bin/bash
RANGE=4

number=$RANDOM
let "number %= $RANGE"
case $number in
    0)
        cow="small"
        ;;
    1)
        cow="tux"
        ;;
    2)
        cow="koala"
        ;;
    3)
        cow="moose"
        ;;
esac

RANGE=2
number=$RANDOM
let "number %= $RANGE"
case $number in
    0)
        command="/usr/games/cowsay"
        ;;
    1)
        command="/usr/games/cowthink"
        ;;
esac
/usr/games/fortune | $command -f $cow

В основном, он будет отображать случайную корову ( маленькую , смокинг , коалу или лося ), и сообщение будет получено из состояния. Кроме того, этот сценарий будет выполняться с коровьим или коровьим мышлением , с той лишь разницей, что коровье мышление будет показывать думающую корову вместо говорящей коровы.

Самое интересное, что вы можете изменить сценарий, чтобы показывать больше коров или показывать разных коров. Для этого сначала нужно узнать, какие коровы у вас установлены. В терминале запустите:

cowsay -l

Вы можете использовать любую из этих коров. Все, что вам нужно сделать, это отредактировать скрипт: если вы хотите добавить новую корову, просто скопируйте строки, содержащие «корова» (плюс число и точки с запятой), и вставьте их перед строкой с надписью «esac». Затем измените номер и имя коровы, например, если вы хотите добавить корову с именем «вымя», все, что вам нужно сделать, это добавить эти строки перед первым «esac»:

4)
    cow="udder"
    ;;

Важно : вторая строка файла, «RANGE = 4», также должна быть изменена. Если вы добавите одну корову, то вместо 4 используйте 5, также, если вы удалите одну корову, вы должны использовать 3 и так далее. Также обратите внимание, что числа, которые вы видите, должны быть в диапазоне от 0 до RANGE - 1 . Вот почему RANGE равен 4, а цифры 0, 1, 2 и 3.

Вы также можете создавать своих собственных коров, хотя это может занять немного больше работы. Все, что вам нужно сделать, это получить любое понравившееся вам ASCII-изображение и отредактировать его, но это немного сложно. Вы можете увидеть, как это делается здесь: http://lmpeiris.wordpress.com/2011/01/17/cowsayhow-to-make-a-cow-talk-on-terminal-startup/ Однако учтите , что любые @ и \ символы должны иметь обратную косую черту, то есть вы должны поставить перед этим символом другой символ: \ . Это может иметь место и для # (но не всегда). Если ваш ASCII Art содержит #Вы тоже можете сделать обратную косую черту, но иногда этого будет достаточно только с одним из них ... Я не знаю, как это объяснить, извините. Я полагаю, вам придется попытаться проверить, работает ли это. Также убедитесь, что файл, который вы редактируете, имеет расширение «.cow».

Наконец, когда у вас есть свои собственные коровы, вы можете либо добавить их в расположение по умолчанию (вам, вероятно, понадобится быть суперпользователем для этого) в / usr / share / cowsay / cows, либо вы можете добавить в свой файл ~ / .bashrc это строки:

export COWPATH="/usr/share/cowsay/cows"
# set COWPATH so it includes user's cows
if [ -d "$HOME/cowfiles" ] ; then
    COWPATH="$COWPATH:$HOME/cowfiles"
fi

Обязательно добавьте эти строки перед тем, как называть свой «коровник». Это также предполагает, что у вас есть папка под названием «cowfiles» в вашей домашней папке. Измените путь, если хотите, чтобы он указывал на папку, в которой хранятся ваши коровьи файлы.

c30zD
источник
13

cowsay командная строка со случайным коровьим файлом:

fortune | cowsay -f `ls /usr/share/cowsay/cows/ | shuf -n 1`

Результат:

     ___________________________________
/ Q: Who cuts the grass on Walton's \
\ Mountain? A: Lawn Boy.            /
 -----------------------------------
  \
   \ ,   _ ___.--'''`--''//-,-_--_.
      \`"' ` || \\ \ \\/ / // / ,-\\`,_
     /'`  \ \ || Y  | \|/ / // / - |__ `-,
    /@"\  ` \ `\ |  | ||/ // | \/  \  `-._`-,_.,
   /  _.-. `.-\,___/\ _/|_/_\_\/|_/ |     `-._._)
   `-'``/  /  |  // \__/\__  /  \__/ \
        `-'  /-\/  | -|   \__ \   |-' |
          __/\ / _/ \/ __,-'   ) ,' _|'
         (((__/(((_.' ((___..-'((__,'

Вы можете добавить эту командную строку в конец вашего скрипта профиля входа в систему для просмотра случайного cowsayв любом терминале. Для bash, вам нужно будет вставить эту строку ~/.bashrc.


Чтобы сделать это также случайно выбирать между cowsayи cowthink, вы можете сделать это:

fortune | `ls /usr/games/cow* | shuf -n 1` -f `ls /usr/share/cowsay/cows/ | shuf -n 1`

Это позволяет получить однострочное решение со случайными коровами, вместо тщательного расширения сценария Linux Mint .

Реза Рахими
источник
Это потрясающе! Именно то, что я хотел.
Ландрони
Вам нужно установить оба cowsayи fortunesсделать эту работу.
Ландрони
Это гений! Спасибо за один вкладыш: P :)
codeMan
1
+1 Это золото! Пришлось добавить дополнительный сед: fortune | cowsay -f `ls /usr/local/share/cows/ | sed "s/.cow\*//g" | shuf -n 1` (Cygwin).
PS95
Действительно, у этого каталога есть некоторые *.pmфайлы, которые нельзя использовать напрямую, они требуются из других *.cowфайлов. Не думайте, что вам нужен sed, cowsay -f `ls /usr/share/cowsay/*.cow | shuf -n1` для меня работает полный путь (каталог отличается в моем дистрибутиве)
Бени Чернявский-Паскин
10

Если вы хотите объединить cowsayи fortuneпредставить вам сообщение каждый раз при запуске терминала, добавьте следующую строку:

fortune | cowsay -f tux

к файлу .bashrcв вашей домашней папке.

Tomodachi
источник
2

Я использовал первые два ответа и справочную страницу, чтобы получить случайные мысли черепахи.

  1. Нашел cowsay -lпереключатель, чтобы перечислить все коровьи файлы.
  2. Найдя черепаху, я отредактировал свой ~/.bashrc.

    fortune | cowsay -f turtle
    

PS Я полагаю, что ваш первый шаг.

$ sudo apt-get install fortune-mod fortunes-ubuntu-server fortunes-off fortunes-bofh-excuses fortunes-debian-hints fortunes-spam cowsay

Таким образом, у вас будет много состояний. Эти состояния также пригодятся, если у вас установлена ​​"Wanda the wise the wing gnome fish" / возможно установлена ​​на autoRun.

Также отличным набором удачи является пакет mint fortunes-husse.deb. Так что либо найдите файл .deb онлайн через быстрый Google, либо добавьте репозитории Mint в Ubuntu.

user66952
источник