1

背景

在 clearcase 中,该命令setcs用于以下示例:

将当前视图的配置规范更改为文件 cspec_REL3 的内容。

cmd-context setcs cspec_REL3

将视图标签为 jackson_vu 的视图的配置规范更改为默认配置规范。

cmd-context setcs –tag jackson_vu –default

让当前视图的 view_server 重新读取其配置规范。

cmd-context setcs –current

问题

我有一个脚本,我正在尝试执行以下操作:

  1. 获取我之前在脚本中生成的某个视图的 configSpec(第一行已编辑)。
  2. 删除配置规范中“element * CHECKEDOUT”的行(我使用了这个方法
  3. 将该视图的 configSpec 设置为我所做的新编​​辑。

下面是我写的尝试这个的代码:

configSpec=`cleartool catcs -tag $VIEW_NAME | tail -n +2`
noCheckout=`printf '%s\n' "{$configSpec//element * CHECKEDOUT/}"`
cleartool setcs -tag $VIEW_NAME $noCheckout

它返回给定的错误:

cleartool: Error: Extra arguments: "SET:"

这恰好是noCheckout变量中的第一个单词。

问题

如何使用字符串变量作为中介来编辑和更新配置规范?

4

1 回答 1

1

我建议不要使用字符串变量作为中介,而是使用file,因为cleartool setcs pname是:

pname
指定一个文本文件,其内容将成为视图的新配置规范。

因此,如果可以,请将变量的内容重定向到文件 ( fprintf),并使用该每个确定的文件名作为setcs命令的参数。

于 2019-06-12T21:31:38.703 回答