tcl lsearch can';a\[1\]

tcl lsearch can';a\[1\],tcl,Tcl,我有个问题 这是我的密码 set aa 11 lappend aa a\[1\] lsearch $aa a\[1\] 为什么不起作用?试试: lsearch -exact $aa a\[1\] 默认情况下,lsearch使用全局样式匹配。反斜杠阻止[1]被视为命令替换,但lsearch将要查找的项视为一个[1],它作为一个glob模式仅表示“a”,后跟“1”。因此,您需要-exact标志才能将要查找的项作为文本处理。类似地,该模式也可以用括号括起来,使其具有文本含义,lsearch$aa{

我有个问题

这是我的密码

set aa 11
lappend aa a\[1\]
lsearch $aa a\[1\]
为什么不起作用?

试试:

lsearch -exact $aa a\[1\]

默认情况下,lsearch使用全局样式匹配。反斜杠阻止[1]被视为命令替换,但lsearch将要查找的项视为一个[1],它作为一个glob模式仅表示“a”,后跟“1”。因此,您需要-exact标志才能将要查找的项作为文本处理。

类似地,该模式也可以用括号括起来,使其具有文本含义,
lsearch$aa{a\[1]}
,这与此相同。是的,这也起到了作用,{}保留\以便lsearch看到它,从而关闭下面的全局匹配解释[或
lsearch$aa a\\\[1]
欢迎来到quoting hell,只有少数被选中的人逃脱了。严格地说,它是按照文档记录的方式工作的,但会给你一个你意想不到的答案。