Using expect to automate repetitive tasks based on text output
Bash is a formidable tool but sometimes, we need to do a particular thing that needs additional tools. In this recipe, we are going to be working with just such a tool called expect
. Before we start, we must note that expect
is not part of Bash scripting – it is a whole separate scripting language, written for a particular purpose, to enable interaction between your scripts and users and other systems. The idea behind it is to enable your scripts to not only execute normal
commands that provide information when executed (command output) but to also be able to interact with any application that has a command-line interface (CLI) and get information from it.
Getting ready
In a simplified way, expect
acts as a virtual keyboard that can type in some text and read what is on the screen. This is a powerful thing that is often needed because several applications and scripts are created by people who either had no...