file1.txt
dut1Loop1Net = [::ip::contract [::ip::prefix 1.1.1.1/24]]/24
私のスクリプトは
set in [open file1.txt r]
set line [gets $in]
if {[string trim [string range $line1 0 0]] != "#"} {
set devicePort [string trim [lindex $line1 0]]
set mark [expr [string first "=" $line1] + 1]
set val [string trim [string range $line1 $mark end]]
global [set t $devicePort]
set [set t $devicePort] $val
}
close $in
問題
私は次のように出力を得ています
% set dut1Loop1Net
[::ip::contract [::ip::prefix 1.1.1.1/24]]/24
ここでは、評価せずに文字列を取得しています。
としての出力を期待しています1.1.1.0/24
。TCL はここでコードを評価しないため、文字列のように出力されます。
TCL がどのようにデータを保存し、どのような形式でデータを取得するかを知るのは興味深いことです。