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
%
200.200.200.1 に ping を実行できないときに、コードが else 句を処理せず、最後に o/p "200.200.200.1 failed" を返す理由を知りたいです。私は「0%損失」に一致しています
多くのサンクス。