vc(1)vc(1)NAMEvc - substitutes assigned values in place of identification keywords.
SYNOPSIS
char] [keyword=value ... keyword=value]
DESCRIPTION
The or version control command copies lines from the standard input to
the standard output under control of command line arguments and control
statements encountered in the standard input. In the process of per‐
forming the copy operation, user declared keywords can be replaced by
their string value when they appear in plain text and/or control state‐
ments. The copying of lines from the standard input to the standard
output is conditional, based on tests of keyword values specified in
control statements or on command arguments.
Replacement of keywords by values is done whenever a keyword surrounded
by control characters is encountered on a version control statement.
The option forces replacement of keywords in all lines of text. An
uninterpreted control character can be included in a value by preceding
it with If a literal is desired, it too must be preceded by
The command is part of the SCCS (Source Code Control System) command
suite.
Options
recognizes the following options and arguments:
Replace keywords surrounded by control characters
with their assigned value in all text lines and not
just in statements.
Ignore all characters from the beginning of a line
up to and including the first tab character for the
purpose of detecting a control statement. If one is
found, all characters up to and including the tab are
discarded.
Specify a control character to be used in place of
Silence warning messages (not errors) that are normally printed
on the diagnostic output.
Control Statements
A control statement is a single line beginning with a control charac‐
ter, and the default control character is colon (Unless the and options
are used [See above]). Input lines beginning with a backslash followed
by the control character are not control lines, and are copied to the
standard output with the backslash removed. Lines beginning with a
backslash followed by a non-control character are copied in their
entirety.
A keyword is composed of 9 or fewer alphanumeric characters of which
the first character is alphabetic. A value is any ASCII string that
can be created using (see ed(1)); a numeric value is an unsigned string
of digits. Keyword values must not contain spaces or tabs.
Version control statements occur in the following forms:
:dcl keyword[, ..., keyword]
Used to declare keywords. All keywords must
be declared.
:asg keyword=value
Used to assign values to keywords. An state‐
ment overrides the assignment for the corre‐
sponding keyword on the command line and all
previous for that keyword. Keywords declared,
but not assigned values have null values.
Used to skip lines of the standard
input.
If the condition
is true, all lines
between the if
statement and the
matching end
statement are
copied to the
standard output.
If the condition
is false, all
intervening lines
are discarded,
including control
statements. Note
that intervening
if statements and
matching end
statements are
recognized solely
for the purpose of
maintaining the
proper if-end
matching.
The syntax of a
condition may
include the fol‐
lowing:
<cond> ::=
[
"not"
]
<or>
<or> ::=
<and>
|
<and>
"|"
<or>
<and> ::=
<exp>
|
<exp>
"&"
<and>
<exp> ::=
"("
<or>
")"
|
<value>
<op>
<value>
<op> ::=
"="
|
"!="
|
"<"
|
">"
<value> ::=
<arbi‐
trary
ASCII
string>
|
<numeric
string>
The following are
available opera‐
tors and their
meanings:
equal
not equal
and
or
greater than
less than
used for log‐
ical group‐
ings
allowed only
immediately
after the
if,
and
when
present,
inverts
the
value
of
the
entire
con‐
di‐
tion
The and operate
only on unsigned
integer values
(such as is
false). All other
operators take
strings as argu‐
ments (for exam‐
ple, is true).
The precedence of
the operators
(from highest to
lowest) is as fol‐
lows:
all of equal
precedence
Paren‐
the‐
ses
can
be
used
to
alter
the
order
of
prece‐
dence.
Val‐
ues
must
be
sep‐
a‐
rated
from
oper‐
a‐
tors
or
paren‐
the‐
ses
by
at
least
one
space
or
tab.
Used
for
key‐
word
replace‐
ment
on
lines that
are
copied
to
the
stan‐
dard
out‐
put.
The
two
lead‐
ing
con‐
trol
char‐
ac‐
ters
are
removed,
and
key‐
words
sur‐
rounded
by
con‐
trol
char‐
ac‐
ters
in
text
are
replaced
by
their
value
before
the
line
is
copied
to
the
out‐
put
file.
This
action
is
inde‐
pen‐
dent
of
the
option.
Turn
on
or
off
key‐
word
replace‐
ment
on
all
lines.
Change
the
con‐
trol
char‐
ac‐
ter
to
char.
Prints
the
given
mes‐
sage
on
the
diag‐
nos‐
tic
out‐
put.
Prints
the
given
mes‐
sage
fol‐
lowed
by:
on
the
diag‐
nos‐
tic
out‐
put.
halts
exe‐
cu‐
tion
and
returns
an
exit
code
of
1.
EXTER‐
NAL
INFLU‐
ENCES
Envi‐
ron‐
ment
Vari‐
ables
deter‐
mines
the
inter‐
pre‐
ta‐
tion
of
key‐
words,
val‐
ues,
the
con‐
trol
char‐
ac‐
ter
assigned
through
and
within
text
as
sin‐
gle-
and/or
multi-
byte
char‐
ac‐
ters.
deter‐
mines
the
lan‐
guage
in
which
mes‐
sages
are
dis‐
played.
If
is
not
spec‐
i‐
fied
in
the
envi‐
ron‐
ment
or
is
set
to
the
empty
string,
the
value
of
is
used
as
a
default
for
each
unspec‐
i‐
fied
or
empty
vari‐
able.
If
is
not
spec‐
i‐
fied
or
is
set
to
the
empty
string,
a
default
of
"C"
(see
lang(5))
is
used
instead
of
If
any
inter‐
na‐
tion‐
al‐
iza‐
tion
vari‐
able
con‐
tains
an
invalid
set‐
ting,
behaves
as
if
all
inter‐
na‐
tion‐
al‐
iza‐
tion
vari‐
ables
are
set
to
"C".
See
env‐
i‐
ron(5).
RETURN
VALUE
returns
0
on
nor‐
mal
com‐
ple‐
tion;
1
if
an
error
occurs.
DIAG‐
NOS‐
TICS
Use
scc‐
shelp(1)
for
expla‐
na‐
tions.
SEE
ALSO
ed(1),
scc‐
shelp(1).
vc(1)