Tcl内置的source
命令不会逐条显示正在执行的命令,这对于阅读log文件有些不方便。
有些工具的Tcl扩展支持source -verbose
的用法。自己写了一个Tcl的实现,代码如下
proc source-verbose {file} { set fp [open $file r] puts "#ref: $file\n" set buffer "" while {[gets $fp line]>=0 } { append buffer $line "\n" if [info complete $buffer] { set buffer [string trim $buffer] if {[string length $buffer] == 0} { # skip } else { puts -nonewline $buffer ; puts " ;#--tcl--#" uplevel 1 $buffer } set buffer "" } } close $fp }