【问题标题】:CLEARCASE_XPN not parsed as variable in clearcase commandCLEARCASE_XPN 未在 clearcase 命令中解析为变量
【发布时间】:2012-07-11 18:29:21
【问题描述】:

我在运行 clearcase 命令时遇到一个问题:

ct find . -branch 'brtype(my_branch)' -exec "echo %CLEARCASE_XPN%"`

%CLEARCASE_XPN% 未解析为变量,输出为:

%CLEARCASE_XPN%
%CLEARCASE_XPN%
%CLEARCASE_XPN%
...

但我确定CLEARCASE_XPN 是变量,表示找到的文件的整个路径。
有人可以帮忙吗?操作系统是linux,shell是tcsh,谢谢!

【问题讨论】:

    标签: clearcase


    【解决方案1】:

    用途:

    ct find . -branch 'brtype(my_branch)' -exec 'echo $CLEARCASE_XPN'
    

    %CLEARCASE_XPN% 是一种 windows 语法。

    $CLEARCASE_XPN 是 unix 语法,您可以在 Linux tcsh 会话中使用它。

    有关使用 unix 语法的许多示例,请参阅“cleartool find”和“Additional examples of the cleartool find command”。


    还要注意在 exec 指令周围使用简单的引号:-exec 'echo $CLEARCASE_XPN'
    这将阻止 shell 本身立即解释$CLEARCASE_XPN 变量(tcsh 会话不知道),并允许 cleartool find 将正确的 value 传递给exec 指令,将$CLEARCASE_XPN 替换为扩展路径名。

    见“String quoting (single quote) vs. Weak Quoting (double quote)”:

    • 强引号可防止字符具有特殊含义,因此如果将字符放在单引号内,所见即所得。
      因此,如果您不确定某个字符是否为特殊字符,请使用强引号。

    • 弱引号 标记将大多数字符视为普通字符,但允许某些字符(或者更确切地说是元字符)具有特殊含义。如前面的示例所示,双引号内的反斜杠是一个特殊的元字符。
      表示下一个字符不是,所以可以用在反斜杠前和双引号前,转义特殊含义。
      双引号中允许使用另外两个元字符:美元符号和反引号。

    【讨论】:

    • 我试过这个,但它不起作用。反馈是:CLEARCASE_XPN:未定义的变量。
    • @Kery 尝试使用简单的引号:-exec 'echo $CLEARCASE_XPN'
    • @Kery 优秀。我已经编辑了答案以反映单引号的使用(又名“强引用”)并对其进行解释。
    猜你喜欢
    • 2021-09-29
    • 2015-08-10
    • 2017-03-08
    • 1970-01-01
    • 2021-01-18
    • 2018-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多