我似乎无法修改我用于思科的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 ] }
}
答案 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的语法在不同系统之间有所不同;使用它并不是非常便携......)