我遇到一个问题,当我运行的ClearCase命令:
ct find . -branch 'brtype(my_branch)' -exec "echo %CLEARCASE_XPN%"`
%CLEARCASE_XPN%
未解析为一个变量,并输出为:
%CLEARCASE_XPN%
%CLEARCASE_XPN%
%CLEARCASE_XPN%
...
但我敢肯定CLEARCASE_XPN
是变量表示找到的文件的完整路径。
任何人都可以帮忙吗? 操作系统是Linux,外壳是tcsh的,谢谢!
使用:
ct find . -branch 'brtype(my_branch)' -exec 'echo $CLEARCASE_XPN'
%CLEARCASE_XPN%
是Windows的语法。
$CLEARCASE_XPN
是UNIX语法,你可以在你的Linux tcsh的会话中使用。
请参阅“ cleartool find
”和“ 的cleartool的其他例子find命令 ”使用UNIX语法的例子很多。
还要注意周围的EXEC指令使用简单的报价: -exec 'echo $CLEARCASE_XPN'
。
这将防止外壳本身立即解释$CLEARCASE_XPN
变量(这是不明了的tcsh会话),并允许cleartool找到正确的值传递到exec指令,更换$CLEARCASE_XPN
与扩展路径。
见“ 字符串引用(单引号)与弱引用(双引号) ”:
从具有特殊的含义,因此,如果你把单引号内的字符,你看到的就是你得到的强引用防止字符。
因此,如果你不知道,如果一个字符是一个特殊字符或不使用强引号。
弱引号治疗大多数字符作为普通的字符,但允许某些字符(或相当的元字符)具有特殊的意义。 正如前面的例子说明,双引号中的反斜杠是一个特殊的元字符。
它表示下一个字符是没有,所以它可以在反斜杠之前和一个双引号之前使用,逃避特殊的意义。
有迹象表明,允许双引号内的两个其他的元字符:美元符号和反引号。