标签: scripting tcl
我有一个变量nodename = v445和另一个变量nodepatch=v445-sctpsv
nodename = v445
nodepatch=v445-sctpsv
我想比较为
if { $nodename == ???????} { }
所以在这里我只想比较某个-之前第二个变量可能包含多个的部分 - 在名称中,所以我只想提取等效字符串到nodename进行比较。 在字符串操作之后,第二部分应该是这样的:
-
if { $nodename == "v445"} { proceed } else { }
答案 0 :(得分:2)
尝试
set nodename v445 set nodepatch v445-sctpsv if {[string match $nodename* $nodepatch]} { proceed } else { }
string match对字符串执行glob样式匹配,在这种情况下,以$nodename中的值开头且包含零个或多个字符的字符串与字符串$nodepatch匹配
string match
$nodename
$nodepatch
如果您需要确保破折号发生,请改用string match $nodename-* $nodepatch。
string match $nodename-* $nodepatch
文档:if,set,string