0

我似乎无法修改用于 Cisco 的 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 ] }
}
4

1 回答 1

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 的语法因系统而异;使用它不是很便携……)

于 2014-06-10T10:39:30.410 回答