Gostaria de apresentar, para quem ainda  não conhece, uma das ferramentas mais versáteis disponível para o  engenheiro de rede no IOS CISCO: O TCL (Tool Command  Language) shell.
Essa shell foi criada para permitir a execução de scripts TCL  diretamente no IOS CISCO.
Estes scripts, claro, usam e interagem diretamente com os comandos  disponíveis no IOS.
 Existe também a possibilidade de criar o script e depois  pré-compilar os mesmos, salvando-os na memória FLASH  ou disco. Além disto, podem ser compartilhados por múltiplos usuários no  mesmo roteador e ao mesmo tempo.Um exemplo do uso dessa shell aparece na prova prática da CCIE RS onde,  usualmente, pede-se conectividade total entre os equipamentos , isto é,  cada IP da rede deve ser capaz de pingar qualquer outro IP.
Agora imaginem, testar conectividade de 10 equipamentos repletos de  interfaces e IPs?
Pingar cada IP de cada equipamento, de dentro de cada equipamento?
E ainda verificar o que falhou e ir atrás do problema?
 Tarefa complicada que o seguinte TCL script simplifica e muito.  Basicamente, ele serve para filtrar a resposta do comando PING, e apenas  imprimir na tela os IPs que não  responderem com um ICMP echo-reply. 
foreach -> cria uma loop de iteraçao com  os IPs listados
[exec ping  $ips timeout 3 ] -> pinga cada IP da lista e usa um timeout de 3  seg
string first  "!!!" -> verifica se na string de saída do comando "ping IP"  encontramos "!!!"
$result == -1 } { puts ".. $ips "}}  verifica se o resultado for negativo (sem resposta do ping) imprimi na  tela dois pontos (..) e o IP que não respondeu.
r1#tclsh
r1(tcl)#proc pingall {} {
+>(tcl)#foreach ips {
+>(tcl)#155.1.1.1
+>(tcl)#155.4.4.4
+>(tcl)#155.6.6.6}
+>(tcl)#{ set result [  string first "!!!" [exec ping $ips timeout 3 ] ]
+>(tcl)#if { $result == -1 } { puts ".. $ips " } }
+>(tcl)#}
r1(tcl)#pingall
.. 155.4.4.4
.. 155.6.6.6
Somente para relembrar a saída tipica de um ping e entender melhor o  exemplo:
r1#ping  155.1.1.1 timeout 3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 155.1.1.1, timeout is 3 seconds:
!!!!!
Success rate is 100 percent (5/5)
Assim como o script verificou os "!!!" na saída do comando, nada foi  impresso na tela
E para um ping que não recebeu resposta:
r1#ping  155.4.4.4 timeout 3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 155.4.4.4, timeout is 3 seconds:
.U.U.
Success rate is 0 percent (0/5)
 O script não encontra  "!!!" e imprime na tela ".. e o IP"
TCL SCRIPT:
tclsh
proc pingall {} {
foreach ips {
172.16.16.1
172.16.123.1
172.16.14.1
172.16.50.25} { set result [ string first "!!!" [ exec ping $ips ] ]
if { $result == -1 } { puts ".. $ips " } }
}