1COWSAY(1)                        Cowsay Manual                       COWSAY(1)
2
3
4

NAME

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

SYNOPSIS

9       cowsay [-e eye_string] [-f cowfile | -r [-C] ] [-h] [-l] [-n] [-T
10       tongue_string] [-W column] [-bdgpstwy] [<message>]
11

DESCRIPTION

13       Cowsay generates an ASCII picture of a cow saying something provided by
14       the user. If run with no arguments, it accepts standard input,
15       word-wraps the message given at about 40 columns, and prints the cow
16       saying the given message on standard output.
17
18       To aid in the use of arbitrary messages with arbitrary whitespace, use
19       the -n option. If it is specified, the given message will not be
20       word-wrapped. This is possibly useful if you want to make the cow think
21       or speak in figlet(6). If -n is specified, there must not be any
22       command line arguments left after all the switches have been processed.
23
24       The -W specifies roughly where the message should be wrapped. The
25       default is equivalent to -W 40 (i.e. wrap words at or before the 40th
26       column).
27
28       If any command-line arguments are left over after all switches have
29       been processed, they become the cow’s message. The program will not
30       accept standard input for a message in this case.
31
32       If the program is invoked as cowthink then the cow will think its
33       message instead of saying it.
34

OPTIONS

36       There are several provided modes which change the appearance of the cow
37       depending on its particular emotional/physical state.
38
39       -b
40           Invokes Borg mode.
41
42       -d
43           Causes the cow to appear dead.
44
45       -g
46           Invokes greedy mode.
47
48       -p
49           Causes a state of paranoia to come over the cow.
50
51       -s
52           Makes the cow appear thoroughly stoned.
53
54       -t
55           Yields a tired cow.
56
57       -w
58           Is somewhat the opposite of -t, and initiates wired mode.
59
60       -y
61           Brings on the cow’s youthful appearance.
62
63       -e
64           Selects the appearance of the cow’s eyes, in which case the first
65           two characters of the argument string eye_string will be used. The
66           default eyes are oo. The tongue is similarly configurable through
67           -T and tongue_string; it must be two characters and does not appear
68           by default. However, it does appear in the dead and stoned modes.
69           Any configuration done by -e and -T will be lost if one of the
70           provided modes is used.
71
72       -f
73           Specifies a particular cow picture file (cowfile) to use. If the
74           cowfile spec resolves to an existing file, then it will be
75           interpreted as a path to the cowfile. Otherwise, cowsay will search
76           the COWPATH for a cowfile with that name. Additional cowpath
77           entries may be specified in the COWPATH environment variable. To
78           list all cowfiles on the current COWPATH, invoke cowsay with the -l
79           switch.
80
81       -r
82           Chooses a random cow from the cows on the COWPATH.
83
84       -C
85           Enables true-color (24-bit) cows. Currently only has an effect when
86           used in conjunction with -r.
87
88       -l
89           Lists the defined cows on the current COWPATH. Displays it in a
90           human-readable pretty-printed format when displaying to a terminal
91           device. When sent to a non-terminal device, outputs the list in a
92           parsing-friendly format with one cow name per line and no headers
93           or blank lines.
94
95       -h
96           Displays a help screen.
97

COWFILE FORMAT

99       A cowfile is made up of a simple block of perl(1) code, which assigns a
100       picture of a cow to the variable $the_cow. Should you wish to customize
101       the eyes or the tongue of the cow, then the variables $eyes and $tongue
102       may be used. The trail leading up to the cow’s message balloon is
103       composed of the character(s) in the $thoughts variable. Any backslashes
104       must be reduplicated to prevent interpretation. Also, at-signs ("@")
105       must be backslashed because that is what Perl 5 expects. The name of a
106       cowfile must end with .cow, otherwise it is not recognized as a
107       cowfile.
108

ENVIRONMENT

110       The COWPATH environment variable, if present, will be used to search
111       for cowfiles. It contains a colon-separated list of directories, much
112       like PATH or MANPATH.
113
114       The default COWPATH is searched after entries in the user-specified
115       COWPATH environment variable. To suppress this behavior (e.g. for
116       development work), set the COWSAY_ONLY_COWPATH environment variable to
117       1. In this case, COWPATH should contain at least a directory with a
118       file called default.cow in it.
119

FILES

121       %PREFIX%/share/cowsay/cows holds a sample set of cowfiles. Your COWPATH
122       automatically contains this directory, unless COWSAY_ONLY_COWPATH is
123       set to 1.
124
125       %PREFIX%/share/cowsay/site-cows is provided for administrators to
126       install custom cows. Cows in share/cowsay/site-cows take precedence
127       over cows with the same name in share/cowsay/cows. The site-cows
128       directory will never be modified by cowsay installations, so custom
129       cows defined there will persist across upgrades of cowsay. site-cows is
130       also on the default COWPATH.
131
132       %PREFIX%/etc/cowsay/cowpath.d/ (or /etc/cowsay/cowpath.d/ when %PREFIX%
133       is /usr) is a directory that contains files which list entries to be
134       added to the default COWPATH. This mechanism allows third-party cow
135       collections to register themselves with cowsay in a way that does not
136       require per-user configuration.
137

BUGS

139       If there are any, please report them on the cowsay GitHub page
140       (https://github.com/cowsay-org/cowsay/issues) or notify the author at
141       the address below.
142

AUTHOR

144       Cowsay is maintained by Andrew Janke (floss@apjanke.net).
145
146       Cowsay was originally written by Tony Monroe (tony@nog.net), with
147       suggestions from Shannon Appel (appel@csua.berkeley.edu) and
148       contributions from Anthony Polito (aspolito@csua.berkeley.edu).
149

RESOURCES

151       GitHub: https://github.com/cowsay-org/cowsay
152
153       Main web site: http://cowsay.diamonds
154

SEE ALSO

156       fortune(1), perl(1), wall(1), nwrite(1), figlet(6)
157
158
159
160Cowsay 3.7.0                      05/28/2020                         COWSAY(1)
Impressum