Go to main content

手册页部分 1:用户命令

退出打印视图

更新时间: 2018年8月8日 星期三
 
 

vc(1)

名称

vc - 版本控制

用法概要

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

描述

该命令已过时,在下一个发行版中将被删除。

vc 命令将在其参数和标准输入中遇到的“控制语句”的控制下,将标准输入中的行复制到标准输出。在执行复制操作的过程中,用户声明的 keyword 可能由其字符串 value 所代替(当它们出现在纯文本和/或控制语句中时。)

将标准输入中的行复制到标准输出是有条件的,具体基于在控制语句中或由 vc 命令参数指定的关键字值(在控制语句中)的测试。

控制语句是以控制字符开头的一行,通过 –t 关键字(请参见下文)修改的除外。缺省控制字符是冒号 (:),通过 –c 关键字(请参见下文)修改的除外。以反斜杠 (\) 开头,后跟控制字符的输入行并非控制行,并将在删除反斜杠后复制到标准输出。将完全复制以反斜杠开头,后跟非控制字符的行。

关键字由 9 个或 9 个以下的字母数字组成;第一个字符必须为字母。值是可使用 ed 创建的任意 ASCII 字符串;数值是无符号的数字字符串。关键字值可能不含空格或制表符。

如果版本控制语句中的关键字被控制字符括起,则将使用值来替换关键字。–a 关键字(请参见下文)会强行替换所有文本行中的关键字。可将未解释的控制字符包括在值中,方法是在控制字符之前加上 \。如果需要文本 \,则同样需要在它之前加上 \

选项

支持以下选项:

–a

在所有文本行中(并非仅在 vc 语句中),强行使用所分配的值替换由控制字符括起的关键字。

–t

为检测控制语句,会忽略从行开始到(含)第一个制表符之间的所有字符。如果找到控制语句,则会放弃到(含)制表符的所有字符。

–cchar

指定将用于 ":" 缺省值位置的控制字符。

–s

抑制通常以诊断输出格式输出的警告消息(非错误)。

vc 识别以下版本控制语句:

:dcl keyword[, ..., keyword]

声明关键字。必须声明所有关键字。

:asg keyword=value

向关键字指定值。asg 语句将覆盖 vc 命令行上的对应关键字分配以及与该关键字相关的所有之前的 asg 语句。已经声明但尚未分配值的关键字拥有空值。

:if condition
. . .
:end

跳过标准输入行。如果条件为 true,那么会将 if 语句和匹配 end 语句之间的所有行复制到标准输出。如果条件为 false,那么会放弃所有中间行,包括控制语句。注:仅为维护相应的 if-end 匹配而识别中间 if 语句和匹配 end 语句。

条件的语法为:

<cond>

::= [ ``not'' ] <or>

<or>

::= <and> | <and> ``|'' <or>

<and>

::= <exp> | <exp> ``&'' <and>

<exp>

::= ``('' <or> ``)'' | <value> <op> <value>

<op>

::= ``='' | ``!='' | ``<'' | `` >''

<value>

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

可用的运算符及其含义为:

=

等于

!=

不等于

&

|

>

大于

<

小于

()

用于逻辑分组

not

仅可能立即发生在 if 之后,如果出现,颠倒整个条件的值

>< 仅对无符号整数值进行操作(例如,: 012 > 12 为 false)。所有其他运算符都将字符串视为参数(例如,: 012 != 12 为 true)。

运算符的优先级(从最高到最低)为:

= != > <

所有的优先级相同

&

|

括号可用于更改优先级顺序。

必须至少使用一个空格或制表符来将值与运算符或括号分隔开。

::text

替换将复制到标准输出的行上的关键字。将行复制到输出文件之前会删除两个前导控制字符,并会使用相应值来替换由控制字符括起的关键字。此操作独立于 –a 关键字。

:on
:off

允许或禁止所有行上的关键字替换。

:ctl char

将控制字符更改为 char

:msg message

在诊断输出上列显 message

:err message

列显后跟以下内容的 message

ERROR: err statement on line ... (915)

作为诊断输出。vc 会停止执行,并返回退出代码 1

属性

有关下列属性的说明,请参见 attributes(7)

属性类型
属性值
可用性
developer/build/make

另请参见

ed(1)attributes(7)