From S23Wiki
(Redirected from Cowsay)
Jump to: navigation, search

<cowsay font=default>Hello, bovine world</cowsay>

cowsay on the wiki

<cowsay font=fontname>text</cowsay>

fonts available


adding fonts

Drowl, if you want to create new fonts place them in a wiki page under /cowsay/fonts/fontname and ask me to add it them as cowfile to the server. File format:

## description here in 2nd line
$the_cow = <<"EOC";
 $eyes  $eyes

cowsay on the shell

A Debian Package:

Package: cowsay 3.03-5

a configurable talking cow

Turns text into happy ASCII cows, with speech balloons.


      cowsay/cowthink  - configurable speaking/thinking cow (and
      a bit more)


      cowsay [-e eye_string] [-f cowfile]  [-h]  [-l]  [-n]  [-T
      tongue_string] [-W column] [-bdgpstwy]


      Cowsay  generates  an  ASCII picture of a cow saying some-
      thing provided by the user.  If run with no arguments,  it
      accepts  standard  input,  word-wraps the message given at
      about 40 columns, and prints the cow saying the given mes-
      sage on standard output.
      To  aid  in  the  use of arbitrary messages with arbitrary
      whitespace, use the -n option.  If it  is  specified,  the
      given  message will not be word-wrapped.  This is possibly
      useful if you want to make  the  cow  think  or  speak  in
      figlet(6).  If -n is specified, there must not be any com-
      mand-line arguments left after all the switches have  been
      The  -W  specifies  roughly  (where  the message should be
      wrapped.  The default is equivalent to  -W  40  i.e.  wrap
      words at or before the 40th column.
      If  any  command-line  arguments  are  left over after all
      switches have been processed, they become the  cow's  mes-
      sage.   The  program  will not accept standard input for a
      message in this case.
      There are several provided modes which change the  appear-
      ance   of   the  cow  depending  on  its  particular  emo-
      tional/physical state.  The -b option initiates Borg mode;
      -d  causes the cow to appear dead; -g invokes greedy mode;
      -p causes a state of paranoia to come  over  the  cow;  -s
      makes  the cow appear thoroughly stoned; -t yields a tired
      cow; -w is somewhat the  opposite  of  -t,  and  initiates
      wired mode; -y brings on the cow's youthful appearance.
      The  user  may specify the -e option to select the appear-
      ance of the cow's eyes, in which case the first two  char-
      acters  of  the  argument  string eye_string will be used.
      The default eyes are 'oo'.  The tongue is  similarly  con-
      figurable  through  -T  and  tongue_string; it must be two
      characters and does not appear by  default.   However,  it
      does appear in the 'dead' and 'stoned' modes.  Any config-
      uration done by -e and -T will be lost if one of the  pro-
      vided modes is used.
      The  -f  option  specifies  a  particular cow picture file
      (``cowfile) to use.  If the cowfile  spec  contains  '/'
      then it will be interpreted as a path relative to the cur-
      rent directory.  Otherwise, cowsay will  search  the  path
      specified  in  the  COWPATH environment variable.  To list
      all cowfiles on the current COWPATH,  invoke  cowsay  with
      the -l switch.
      If  the  program  is invoked as cowthink then the cow will
      think its message instead of saying it.


      A cowfile is made up of a simple block  of  perl(1)  code,
      which assigns a picture of a cow to the variable $the_cow.
      Should you wish to customize the eyes or the tongue of the
      cow,  then  the  variables  $eyes and $tongue may be used.
      The trail leading up to the cow's message balloon is  com-
      posed  of the character(s) in the $thoughts variable.  Any
      backslashes must be reduplicated to prevent interpolation.
      The  name  of a cowfile should end with .cow, otherwise it
      is assumed not to be a cowfile.   Also,  at-signs  (``@)
      must be backslashed because that is what Perl 5 expects.


      What older versions? :-)
      Version  3.x  is  fully  backward-compatible with 2.x ver-
      sions.  If you're still  using  a  1.x  version,  consider
      upgrading.   And tell me where you got the older versions,
      since I didn't exactly put them up for world-wide  access.
      Oh,  just  so you know, this manual page documents version
      3.02 of cowsay.


      The COWPATH environment variable, if present, will be used
      to  search  for  cowfiles.   It contains a colon-separated
      list of directories, much like PATH or MANPATH.  It should
      always contain the /usr/share/cowsay/cows directory, or at
      least a directory with a file called default.cow in it.


      /usr/share/cowsay/cows holds a sample set of cowfiles.  If
      your  COWPATH is not explicitly set, it automatically con-
      tains this directory.


      If there are any, please notify the author at the  address


      Tony  Monroe (, with suggestions from Shannon
      Appel  (appel@CSUA.Berkeley.EDU)  and  contributions  from
      Anthony Polito (aspolito@CSUA.Berkeley.EDU).


      perl(1), wall(1), nwrite(1), figlet(6)

                  $Date: 1999/11/04 19:50:40 $         cowsay(1)

man cowsay


see also: Figlet