
Tcl/Tk
文章平均质量分 62
bonny95
行至水穷处,坐看云起时。
展开
-
TCL判断条件
编写TCL代码时遇要写一个if判断条件,很简单的一个语句,结果却费了很大力气才搞定。要判断的是,如果执行info exists成功而且某全局数组C的某个成员大于0,正确的语句为: if { [info exists C(AP${AP}cdnnoperap)] && $C(AP${AP}cdnnoperap > 0 } { } 我为了逻辑上的清晰,特地将语句写为: if {原创 2009-08-28 17:29:00 · 7866 阅读 · 1 评论 -
shell编程之 shell问答录
shell编程之 shell问答录 前些天在CU上讨论一个统计正在执行的脚本数量的问题过程中,发现自己对于shell如何执行命令方面了解还是甚少,惭愧惭愧...期间得到waker兄的指点,在此表示感谢!他的说法除了个别地方不太准确外,基本上是正确的。这些天抽时间找了些资料研究了一下,又学到了不少!这里把我的一点心得以问答的形式贴出来,供大家参考。小弟才疏学浅,错误的地方一定很多,欢迎大家转载 2009-09-08 11:41:00 · 719 阅读 · 0 评论 -
Tcl中利用open函数创建pipe
<br />Running other programs from Tcl - exec, open[from: http://www.tcl.tk/man/tcl/tutorial/Tcl26.html]So far the lessons have dealt with programming within the Tcl interpreter. However, Tcl is also useful as a scripting language to tie other packages or转载 2010-07-13 15:22:00 · 3538 阅读 · 0 评论 -
expect_out(buffer)中包含send的数据
<br /> expect_out(buffer)中包含send的数据<br />我一直以为在Expect中一旦执行send之后,expect_out(buffer)就会被清空,直到有新的数据被填入,而恰恰就是这些数据被用在expect语句中。而今天在调试时发现的问题却令我大吃一惊,原来expect_out(buffer)不会被自动清空,而expect到的数据很可能不是你真正想要的,非常有可能是历史数据。"expect_out(buffer) has the content of the previous原创 2010-07-22 15:49:00 · 11563 阅读 · 4 评论 -
Tcl/Tk的Switch模块中慎用注释
今天改了一段Tcl代码,一段非常复杂的非常长的swith代码,总是遇到这样一个奇怪的错误: "extra switch pattern with no body, this may be due to a comment incorrectly placed outside of a switch body - see the "switch" documentation"于是我检查{}是否匹配,检查entry写的是否正确,检查switch的变量是否正确……反复几遍之后,错误仍然在,几近崩溃。Google了原创 2010-09-09 20:50:00 · 4004 阅读 · 2 评论 -
执行tcl命令时“couldn't create error file for command: permission denied”错误的解决
<br />在某台Solaris服务器上, 执行如下命令会报错:<br /> <br /> <br />coolap13>1> tcl<br />tcl>exec ksh "whence $argv0"<br />Error: couldn't create error file for command: permission denied<br /> <br /> <br />一开始我先去查/var/log/syslog,结果发现/var/log下面为空,于是以为这就是上面报错的原因,就创建了一个auth原创 2010-10-29 17:12:00 · 6135 阅读 · 0 评论 -
regexp -line逐行匹配
<br />以前没注意到Tcl/Tk的正则表达式命令regexp还有一个逐行匹配的选项-line(其实是三个-line, -lineanchor和-linestop,第一个是后两者的综合),因此碰到需要在多行内容中匹配某一行的中的某字符(串)是总是不得不用AWK,PERL等其他工具,现在有了-line,直接regexp -line <pattern> <var>就搞定了!原创 2011-03-02 09:24:00 · 1585 阅读 · 0 评论 -
Tk send
send is a Tk command used to execute a command in a different application. This send communication mechanism is limited to applications running on one display. Multiple screens on one workstation stil原创 2011-12-16 08:49:27 · 1906 阅读 · 0 评论 -
Tcl/Expect中利用exec调用管道"|"和awk的注意事项
Tcl/Expect中利用exec调用稍微复杂的shell命令时,经常会遇到一些小问题,常见的就是pipeline(|)和awk。 Tcl/Expect调用多个shell命令并使用|将其串接在一起时,需要注意的是必须在"|"前后加上空格" ",否则tcl/Expect会报奇怪的错。 Tcl/Expect调用awk命令时,需要把awk的' '中的命令改为用" ",并把$1, $2之类原创 2010-08-03 20:52:00 · 12668 阅读 · 2 评论