vc - substitutes assigned values in place of identification keywords.
vc [-a] [-t] [-c char] [-s] [keyword=value ... keyword=value]
The vc, 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 performing the copy operation, user declared keywords can
be replaced by their string value when they appear in plain text
and/or control statements. 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 vc command arguments.
Replacement of keywords by values is done whenever a keyword
surrounded by control characters is encountered on a version control
statement. The -a 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 vc command is part of the SCCS (Source Code Control System)
vc recognizes the following options and arguments:
-a Replace keywords surrounded by control characters with
their assigned value in all text lines and not just in
-t 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
-cchar Specify a control character to be used in place of :.
-s Silence warning messages (not errors) that are normally
printed on the diagnostic output.
A control statement is a single line beginning with a control
character, and the default control character is colon (:) (Unless the
-t and -c 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
Hewlett-Packard Company - 1 - HP-UX Release 11i: November 2000
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 ed (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
Used to assign values to keywords. An asg
statement overrides the assignment for the
corresponding keyword on the vc command line
and all previous asgs for that keyword.
Keywords declared, but not assigned values have
:end 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
The syntax of a condition may include the
<cond> ::= [ "not" ] <or>
<or> ::= <and> | <and> "|" <or>
<and> ::= <exp> | <exp> "&" <and>
<exp> ::= "(" <or> ")" | <value> <op>
<op> ::= "=" | "!=" | "<" | ">"
<value> ::= <arbitrary ASCII string> |
The following are available operators and their
Hewlett-Packard Company - 2 - HP-UX Release 11i: November 2000
!= not equal
>>>> greater than
<<<< less than
( ) used for logical groupings
not allowed only immediately after
the if, and when present,
inverts the value of the entire
The >>>> and <<<< operate only on unsigned integer
values (such as : 012 >>>> 12 is false). All
other operators take strings as arguments (for
example, : 012 != 12 is true). The precedence
of the operators (from highest to lowest) is as
= != >>>> <<<< all of equal
Parentheses can be used to alter the order of
precedence. Values must be separated from
operators or parentheses by at least one space
::text Used for keyword replacement on lines that are
copied to the standard output. The two leading
control characters are removed, and keywords
surrounded by control characters in text are
replaced by their value before the line is
copied to the output file. This action is
independent of the -a option.
:off Turn on or off keyword replacement on all
:ctlchar Change the control character to char.
:msgmessage Prints the given message on the diagnostic
:errmessage Prints the given message followed by:
ERROR: err statement on line ... (915)
on the diagnostic output. vc halts execution
and returns an exit code of 1.
Hewlett-Packard Company - 3 - HP-UX Release 11i: November 2000
LC_CTYPE determines the interpretation of keywords, values, the
control character assigned through ctl and within text as single-
and/or multi-byte characters.
LANG determines the language in which messages are displayed.
If LC_CTYPE is not specified in the environment or is set to the empty
string, the value of LANG is used as a default for each unspecified or
empty variable. If LANG is not specified or is set to the empty
string, a default of "C" (see lang(5)) is used instead of LANG. If
any internationalization variable contains an invalid setting, vc
behaves as if all internationalization variables are set to "C". See
vc returns 0 on normal completion; 1 if an error occurs.
Use sccshelp(1) for explanations.
Hewlett-Packard Company - 4 - HP-UX Release 11i: November 2000