我有一个调用 ping 命令并返回其响应的 tcl 代码,代码如下
proc ping-igp {} {
foreach i {
127.0.0.1
200.200.200.1
} {
if { [regexp "0% loss" [eval exec "ping $i -n 1" ]]} { puts “$i”} else { puts “$i failed” }
}
}
但是在执行它时,我得到如下的o/p,
% proc ping-igp {} {
foreach i {
127.0.0.1
200.200.200.1
} {
if { [regexp "0% loss" [eval exec "ping $i -n 1" ]]} { puts "$i"} else { puts "
$i failed" }
}
}
% ping-igp
"127.0.0.1"
Pinging 200.200.200.1 with 32 bytes of data:
Request timed out.
Ping statistics for 200.200.200.1:
Packets: Sent = 1, Received = 0, Lost = 1 (100% loss),
child process exited abnormally
%
我想知道什么时候我无法 ping 200.200.200.1 为什么我的代码不处理 else 子句并最终给出 o/p “200.200.200.1 failed”。我匹配“0% 损失”
多谢。