Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
HP-UX Reference > V

vc(1)

HP-UX 11i Version 3: February 2007
» 

Technical documentation

» Feedback
Content starts here

 » Table of Contents

 » Index

NAME

vc — substitutes assigned values in place of identification keywords.

SYNOPSIS

vc [-a] [-t] [-c char] [-s] [keyword=value ... keyword=value]

DESCRIPTION

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) command suite.

Options

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 vc statements.

-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 discarded.

-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.

Control Statements

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 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 declared.

:asg keyword=value

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 null values.

:if condition

...

: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 matching.

The syntax of a condition may include the following:

<cond>

::= [ "not" ] <or>

<or>

::= <and> | <and> "|" <or>

<and>

::= <exp> | <exp> "&" <and>

<exp>

::= "(" <or> ")" | <value> <op> <value>

<op>

::= "=" | "!=" | "<" | ">"

<value>

::= <arbitrary ASCII string> | <numeric string>

The following are available operators and their meanings:

=

equal

!=

not equal

&

and

|

or

>

greater than

<

less than

( )

used for logical groupings

not

allowed only immediately after the if, and when present, inverts the value of the entire condition

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 follows:

= != > <

all of equal precedence

&

|

Parentheses can be used to alter the order of precedence. Values must be separated from operators or parentheses by at least one space or tab.

::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.

:on

:off

Turn on or off keyword replacement on all lines.

:ctlchar

Change the control character to char.

:msgmessage

Prints the given message on the diagnostic output.

: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.

EXTERNAL INFLUENCES

Environment Variables

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 environ(5).

RETURN VALUE

vc returns 0 on normal completion; 1 if an error occurs.

DIAGNOSTICS

Use sccshelp(1) for explanations.

SEE ALSO

ed(1), sccshelp(1).

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 1983-2007 Hewlett-Packard Development Company, L.P.