ClearTool lsview找不到匹配项。

4
我在UNIX系统下(版本7.1.2.12)运行cleartool lsview命令时遇到了一个非常奇怪的错误。一般情况下该命令可以正常工作,但对于某些用户而言,会出现以下错误信息:
cleartool: Error: No matching entries found for view tag "user_*"。
我最初在Perl脚本中遇到了这个错误,但它在命令行中也是可以复现的。我尝试执行类似以下的操作:
cleartool lsview user_\*

用户是用户名,对于大多数用户(比如我自己),cleartool会列出以我的用户名开头并跟着一个下划线的视图。

对于其他一些用户,该命令将返回他们的视图列表,但还会产生上述错误消息。我的脚本显然检查ClearCase错误并停止工作。如果我省略掉下划线(在模式中的任何下划线!),则错误消息会消失。

查询用户视图时需要注意什么?IT告诉我要执行以下操作:

cleartool lsview|grep "user_"

虽然这个方法可以正常运行,但我想了解为什么会出现错误信息。

感谢您的阅读。

1个回答

3

我通常使用grep,但我只在命令行(Windows上)测试。这个命令可以工作:

 cleartool lsview prefix_*

换句话说,我从未需要转义 '*'。以下代码无效:
 cleartool lsview prefix_\*
 cleartool: Error: Invalid view tag: "prefix_\*".

这取决于shell如何解释'*',就像这个类似的bug

在Unix下,您可能需要用双引号避免对'*'(通配符扩展)进行过早的解释

cleartool lsview "prefix_*"

用户2606240评论中报告:

只要视图名称中有_,我就会收到错误信息。
就我所了解的注册表和已注册的视图而言,不应该出现这种情况。
我想我只需在lsview之后实现grep并接受它。


* 是因为 bash 解释了 *。我也尝试过使用双引号,但错误仍然存在。奇怪的是,我可以得到视图列表,但最后出现错误消息(对于某些用户)。因此,该消息是虚假的。 - user2606240
'@user2606240' 和单引号?(只是为了检查) - VonC
@user2606240 或许你对于那些已注册但没有标签(或相反:有标签但未注册)的用户有所看法:http://stackoverflow.com/a/15501544/6309 - VonC
使用单引号得到相同的结果。只要视图名称中有下划线,我就会收到错误消息。据我所知,注册表和已注册的视图不应该出现这种情况。我想我将在lsview之后实现grep并接受它——除非我们的IT部门提供更好的解决方案。感谢您的帮助! - user2606240
@user2606240 好的,我已经将你的结论包含在答案中以增加可见性。 - VonC

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接