forked from schacon/cowsay
-
Notifications
You must be signed in to change notification settings - Fork 0
/
cowsay.1
168 lines (168 loc) · 4.58 KB
/
cowsay.1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
.\"
.\" cowsay.1
.\"
.\" $Id: cowsay.1,v 1.4 1999/11/04 19:50:40 tony Exp $
.\"
.\" This file is part of cowsay. (c) 1999 Tony Monroe.
.\"
.ds Nm Cowsay
.ds nm cowsay
.ds Vn 3.02
.TH \*(nm 1 "$Date: 1999/11/04 19:50:40 $"
.SH NAME
\*(nm/cowthink \- configurable speaking/thinking cow (and a bit more)
.SH SYNOPSIS
cowsay
.RB [ \-e
.IR eye_string ]
.RB [ \-f
.IR cowfile ]
.RB [ \-h ]
.RB [ \-l ]
.RB [ \-n ]
.RB [ \-T
.IR tongue_string ]
.RB [ \-W
.IR column ]
.RB [ \-bdgpstwy ]
.SH DESCRIPTION
.I Cowsay
generates an ASCII picture of a cow saying something 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 message on standard output.
.PP
To aid in the use of arbitrary messages with arbitrary whitespace,
use the
.B \-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
.B \-n
is specified, there must not be any command-line arguments left
after all the switches have been processed.
.PP
The
.B \-W
specifies roughly (where the message should be wrapped. The default
is equivalent to
.B \-W 40
i.e. wrap words at or before the 40th column.
.PP
If any command-line arguments are left over after all switches have
been processed, they become the cow's message. The program will not
accept standard input for a message in this case.
.PP
There are several provided modes which change the appearance of the
cow depending on its particular emotional/physical state. The
.B \-b
option initiates Borg mode;
.B \-d
causes the cow to appear dead;
.B \-g
invokes greedy mode;
.B \-p
causes a state of paranoia to come over the cow;
.B \-s
makes the cow appear thoroughly stoned;
.B \-t
yields a tired cow;
.B \-w
is somewhat the opposite of
.BR \-t ,
and initiates wired mode;
.B \-y
brings on the cow's youthful appearance.
.PP
The user may specify the
.B \-e
option to select the appearance of the cow's eyes, in which case
the first two characters of the argument string
.I eye_string
will be used. The default eyes are 'oo'. The tongue is similarly
configurable through
.B \-T
and
.IR tongue_string ;
it must be two characters and does not appear by default. However,
it does appear in the 'dead' and 'stoned' modes. Any configuration
done by
.B \-e
and
.B \-T
will be lost if one of the provided modes is used.
.PP
The
.B \-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 current directory. Otherwise, cowsay
will search the path specified in the
.B COWPATH
environment variable.
To list all cowfiles on the current
.BR COWPATH ,
invoke
.B \*(nm
with the
.B \-l
switch.
.PP
If the program is invoked as
.B cowthink
then the cow will think its message instead of saying it.
.PP
.SH COWFILE FORMAT
A cowfile is made up of a simple block of
.BR perl (1)
code, which assigns a picture of a cow to the variable
.BR $the_cow .
Should you wish to customize the eyes or the tongue of the cow,
then the variables
.B $eyes
and
.B $tongue
may be used. The trail leading up to the cow's message balloon is
composed of the character(s) in the
.B $thoughts
variable. Any backslashes must be reduplicated to prevent
interpolation. The name of a cowfile should end with
.BR .cow ,
otherwise it is assumed not to be a cowfile. Also, at-signs (``@'')
must be backslashed because that is what Perl 5 expects.
.PP
.SH COMPATIBILITY WITH OLDER VERSIONS
.PP
What older versions? :-)
.PP
Version 3.x is fully backward-compatible with 2.x versions. 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.
.PP
Oh, just so you know, this manual page documents version \*(Vn of
cowsay.
.SH ENVIRONMENT
The COWPATH environment variable, if present, will be used to search
for cowfiles. It contains a colon-separated list of directories,
much like
.B PATH or
.BR MANPATH .
It should always contain the
.B /usr/local/share/cows
directory, or at least a directory with a file called
.B default.cow
in it.
.SH FILES
.B %PREFIX%/share/cows
holds a sample set of cowfiles. If your
.B COWPATH
is not explicitly set, it automatically contains this directory.
.SH BUGS
If there are any, please notify the author at the address below.
.SH AUTHOR
Tony Monroe ([email protected]), with suggestions from Shannon
Appel ([email protected]) and contributions from Anthony Polito
.SH SEE ALSO
perl(1), wall(1), nwrite(1), figlet(6)