如何运行TCL脚本告诉每10分钟运行一次?

时间:2014-12-11 10:19:52

标签: tcl expect

我的TCL脚本:

source reboot_patch.tcl

set a 1
while {$a < 10} {
    exec reboot_patch.tcl
    after 60000
    incr a
}

我需要运行&#34; reboot_patch.tcl&#34;在我的系统中每1分钟脚本。我写了上面的脚本。但它只运行一次并且它即将出现。

以下是&#34; reboot_patch.tcl&#34;脚本:

#!/usr/bin/tcl


package require Expect

spawn telnet 40.1.1.2
expect "*console."
send "\r"
expect "*ogin:"
send "test\r"
expect "*word:"
send "test\r"
expect "*>"
send "clear log\r"
expect "*#"
send "commit \r"
expect "*#"

请建议我实现这一目标。

提前致谢。

在Windows 7中打印1到10的数字的脚本:

#!c:\Tcl\bin\tclsh

set a 1
while { $a < 11} {
puts $a
incr a

}

我无法使用&#34; ./"运行上述脚本;在windows7中格式化。

1 个答案:

答案 0 :(得分:0)

通常,exec命令将返回程序执行的输出。我们有责任捕捉,打印和操纵它。

您必须手动打印

puts [ exec ./reboot_patch.tcl ]

或者喜欢,

set result [ exec ./reboot_patch.tcl ]
puts $result

由于您使用exec而未打印结果,因此您没有看到任何内容。那为什么它第一次被执行了?除了以下之外,还有谁可以做?

source reboot_patch.tcl

好吧,既然你已经找到了这个文件并且它已经执行了,这似乎是第一次执行但实际上并非来自exec命令。

注意:如果您正在调用任何源文件proc,则只需要提供该文件。{{1}}据我所知,你没有任何过程。因此,根本不需要来源。