-
Notifications
You must be signed in to change notification settings - Fork 2
expect
Just when you though you could ignore Tcl/Tk, along comes expect.
Expect is a tool for automating interactive applications such as telnet, ftp, passwd, fsck, rlogin, tip, etc. And it turns out Cisco and Juniper routers and switches can use it to automate scripts to do things. While, Expect is not the same as Cisco IOS, it is used as a wrapper to put IOS command in.
We know what Expect is but what is all this Tcl/Tk stuff?
Tcl (Tool Command Language) is a very powerful but easy to learn dynamic programming language, suitable for a very wide range of uses, including web and desktop applications, networking, administration, testing and many more. Open source and business-friendly, Tcl is a mature yet evolving language that is truly cross platform, easily deployed and highly extensible.
Tk is a graphical user interface (GUI) toolkit that takes developing desktop applications to a higher level than conventional approaches. Tk is the standard GUI not only for Tcl, but for many other dynamic languages, and can produce rich, native applications that run unchanged across Windows, Mac OS X, Linux and more.
Installation of all three items is super easy on Linux, since the binaries are quite mature.
$ sudo apt-get install expectThis should install Tcl, Tk and everything else. The current version of Expect as of March 2016 is 5.45 while Tcl and Tk are 8.6.
The minute I said "Cisco" someone's heart must have been racing right? Especially if your taking that CCNA class?
Well, Cisco just had to ruin your excitement and not include anything TCL in the Cisco Packet Tracer Software. Go ahead, try. Make up a fake device like a router our something, wait for the command line interface to boot up, do your enable and configure terminal then try to run a TCL Shell with tclsh. The device won't recognize the command. No expect allowed, but you need it if you are to do something like that in the real world.
Fortunately, there is an open source alternative to Cisco's Packet Tracer and all that proprietary Cisco stuff that you will find may not have any real use in the real world because you weren't allowed to try it out. GNS3
Setup
- [Assemble the Hardware](Assemble the Hardware)
- [Install the Software](Install the Software)
- SD Card Formatting and Image Mounting
- ❤️ [TLDR version](Install the Software#tldr)
- 🆕 [Windows version](Install the Software#doing-this-in-windows)
- 🆙 [Setup your Raspberry Pi](Setup your Raspberry Pi)
- [Download the Missing Parts](Download the Missing Parts)
- Clone this repo
- 🆕 [Install these first](Install these first)
-
Python(It's taken care of) - 🆙 CMake
- 🆙 Node
- 🆕 Expect (Tcl/Tk is not dead!)
- 🆙 tmux and ncurses
- 🆙 htop
- 🆙 wavemon
- Vim
- 🆙 Ruby
- 🆙 weechat
- 🆕 urxvt 256 color terminal!
- 🆕 i3 A better window manager
- 🆕 Ranger
- 🆙 Qt5
- 🆕 Chromium
wicd-curses- 📻 Software Defined Radio
- 🎮 [Linux Toys](Linux Toys)
Typical Utilities
- [Downloading and extracting with curl and tar](curl and tar)
- [Browsing with ls and cat](ls and cat)
- [Searching with grep and find](grep and find)
- [Filtering with sed and awk](sed and awk)
- [Piping with less, pv, and tee](less, pv, and tee)
- Monitor your system with htop
- Multiplex with tmux