大括号中的变量双引号tcl

时间:2017-01-11 05:18:39

标签: tcl

我正在使用这个脚本我希望脚本替换session.mvw文件的第二行所以我要求输入“name”如果我输入2222作为输入我希望我的session.mvw文件的第二行为{{ 1}} 而是它唯一的给予 {GRAPHIC_FILE_1 = "E:/ge work/hyperview scripting/222.rst"}

{GRAPHIC_FILE_1 = "E:/ge work/hyperview scripting/${name}.rst"}

2 个答案:

答案 0 :(得分:0)

Tcl有一个一般规则,它不会在大括号内进行替换。这通常是正确的。但是,在这种情况下,你需要更多的东西。对于这些类型的情况,有subst命令 执行那些 subst itutions:

puts $out [subst {GRAPHIC_FILE_1 = "E:/ge work/hyperview scripting/${name}.rst"}]

(注意:如果你用subst生成Tcl代码,你可能做错了。不是这就是你在这种情况下所做的,但它仍然是对所有读者的警告...... )

答案 1 :(得分:0)

如果你想在值附近有大括号,你可以这样做

setSite

或者

puts $out [list "GRAPHIC_FILE_1 = \"E:/ge work/hyperview scripting/${name}.rst\""]

两者都打印字符串

  

puts $out "{GRAPHIC_FILE_1 = \"E:/ge work/hyperview scripting/${name}.rst\"}"