在Mac OSX上使用tclsh进行基本的ping测试

时间:2014-05-30 11:07:42

标签: macos tcl ping tclsh

我似乎无法修改我用于思科的tclsh脚本,以测试我的Mac OSX上的基本ping可达性。

我将ping换成ping -c 2 $ip

任何人都可以帮忙解决这个问题吗?

感谢。

proc PI {} {
    foreach ip {
        155.1.45.5
        155.1.0.3
     } { exec [ping $ip timeout 1 r 2 ] }
}

1 个答案:

答案 0 :(得分:0)

代码的基本修复是放弃[括号]; Tcl中的括号与Unix shell中的`类似。 (但是可以嵌套。)

您希望子进程运行ping,因此您希望将名称 ping传递给exec,其运行子过程

proc PI {} {
    foreach ip { 155.1.45.5 155.1.0.3 } {
        exec ping -c 2 -t 1 $ip
    }
}

您可能还需要考虑如何处理ping的结果。现在,如果无法访问任何内容,您将收到错误消息。 (另请注意,ping的语法在不同系统之间有所不同;使用它并不是非常便携......)