我正在尝试将消息写入现有文件。 执行检查以查看某些变量值,然后相应地向文件追加消息,但$ data值不写入文件。 请让我知道我的代码有问题吗?TCL:无法将数据写入文件
proc run_sanity {} {
global rundir typep corner_name reflib compLib
cd $rundir
set filename "sanity.txt"
set fileId [open $filename "w"]
if {[file exists $filename]} {
exec rm -rf $rundir/sanity.txt
}
exec grep operating_conditions -A 3 $compLib | grep -v default | grep -v lu | grep -v variable > $rundir/sanity.txt
exec grep nom $compLib >> $rundir/sanity.txt
exec grep library $compLib | grep -v slew | grep -v features >> $rundir/sanity.txt
set driver [exec grep -c driver_waveform $compLib]
set recovery [exec grep -c recovery $compLib]
set removal [exec grep -c removal $compLib]
if {$driver > 0 && $recovery > 0 && $removal > 0} {
set data "No data found for Driver waveform, Recovery and Removal Table.\n"
puts $fileId $data
} else {
set data "Driver waveform, Recovery and Removal table is present in .lib.\n"
puts $fileId $data
}
close $fileId
exec emacs $rundir/sanity.txt &
}
感谢 丹
谢谢kostix, 你在我的代码中发布了一些真正的问题。 我修正了代码,如下所示,现在正在工作,非常好。 –