Ciscoルータで複数宛先にPingを実行しようとする際、 下記のように複数行を貼り付けても、連続して実行することができません。
ping 1.1.1.1 ping 2.2.2.2 ping 8.8.8.8
1行ずつ貼り付けていけば問題なく実行できますが手間がかかるため、 tclsh(スクリプト)を使うと便利です。 下記を1度で貼り付けてみてください。
tclsh foreach i { 1.1.1.1 2.2.2.2 8.8.8.8 } { ping $i timeout 1 }
結果は下記のようになります。
Router(tcl)#foreach i { +>1.1.1.1 +>2.2.2.2 +>8.8.8.8 +>} { ping $i timeout 1 } Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 1.1.1.1, timeout is 1 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 2/2/3 ms Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 1 seconds: ..... Success rate is 0 percent (0/5) Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 8.8.8.8, timeout is 1 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 3/3/3 ms Router(tcl)#
CCIEラボ試験中の疎通確認手段としては非常に便利です。 IOS及びIOS-XEで確認していますが、IOS-XRやASAでは実行できませんでした。 Catalystも対応していませんが、smart macroという機能が代替になるようです。