For some time Cisco offers TCL shell on their equipment. This is awesome, because sometimes you need a single command to retrieve information whereas IOS demands you to enter one or more commands.
But before we get lots in possibilities and impossibilities. Lets create a tiny script to say “Hello world”. First we will write the script afterwards I explain the tricky parts.
R1#tclsh R1(tcl)#puts [ open "flash:hworld.tcl" w+ ] { +>(tcl)#puts "Hello world..." +>(tcl)#} R1(tcl)#exit
First I run trough the commands;
Puts is short for PUT String. Output is ‘echoed’ on screen (stdout) unless defined otherwise. Definition is done in brackets. In the first instance a file is opened to which the output is written.
Open opens a file, w+ describes that a file is opened for write AND if no file of that name is found one must be created.
Script can executed by;
R1#tclsh flash:hworld.tcl Hello world... R1#
If you want to call TCL script more like a IOS command you can create an alias.
R1#conf t Enter configuration commands, one per line. End with CNTL/Z. R1(config)#alias exec hello tclsh flash:hworld.tcl R1(config)#exit R1#
An alias name “hello” is created. Once executed you will get the following result.
R1#hello Hello world... R1#
Okay, writing a tiny tclshell “hello world” script is not rocket-science.
Once you explore more and more you’ll get the hang of it and can do really fun stuff.