-1
regsub -all "\\\\033" $cmd "\033" cmd
[regsub -all "\\\\c" $cmd "" cmd]
regsub -all "\\\\$i" $cmd [lindex $exp_out $i] cmd 

有人可以解释这三个语句的含义吗?它们是三种不同的说法。

4

1 回答 1

1

regsub -all "\\\\033" $cmd "\033" cmd

这将所有反斜杠实例替换033为 ASCIIESC字符。它从变量中读取要处理的字符串cmd并将其写回该变量。

[regsub -all "\\\\c" $cmd "" cmd]

这将所有反斜杠实例替换c为空字符串(有效地删除它)。它更新cmd变量。它将执行的替换次数代入其调用上下文中。

regsub -all "\\\\$i" $cmd [lindex $exp_out $i] cmd

这个有点复杂。对于存储在变量中的特定数字索引,它用' 中列表的第 ' 个元素(从 0 开始计数)i替换后跟索引的所有反斜杠实例。它更新变量。iexp_outcmd

于 2016-07-19T14:04:14.177 回答