在UNIX(版本7.1.2.12)下运行cleartool lsview命令时出现了一个非常奇怪的错误。
该命令通常有效,但对于某些用户(!),它会给出以下错误消息:
cleartool:错误:找不到与视图标记匹配的条目" user _ *"。
我首先在Perl脚本中遇到此错误,但它也可以在命令行上重现。我尝试做类似的事情:
cleartool lsview user_\*
其中user是用户名。对于大多数用户(如我自己),cleartool将列出以我的用户名开头并后跟下划线的视图。
对于其他一些用户,该命令将返回一个包含其视图的列表,但此外它还会产生上述错误消息。我的脚本显然检查ClearCase错误并停止工作。如果我遗漏了下划线(模式中的任何下划线!),则错误消息消失。
在查询用户的视图时,我需要注意什么? IT告诉我这样做:
cleartool lsview|grep "user_"
可以在没有错误消息的情况下工作,但我想了解错误出现的原因。
感谢您的阅读。
答案 0 :(得分:2)
我总是使用grep,但我只是在命令行中测试(在Windows上)。这有效:
cleartool lsview prefix_*
换句话说,我从来没有逃过' *
'。这不起作用:
cleartool lsview prefix_\*
cleartool: Error: Invalid view tag: "prefix_\*".
它可能取决于shell如何解释' *',如this similar bug。
在Unix下,您可能希望避免使用双引号a premature interpretation of the '*' (wildcard expansion):
cleartool lsview "prefix_*"
OP user2606240中的the comments报告:
只要
_
在视图名称中,我就会收到错误消息 据我所知,注册表和注册的观点不应该是这种情况 我想我会在grep
之后实施lsview
并与之共处。