Shell scripting: expect.
Ok, ogni tanto pubblicherò dei micro articoli per farvi conoscere i programmi che più uso quando faccio uno shell scriptino. Non ce ne sono tanti, e quindi me li terrò per quando non avrò idee migliori, o non avrò tempo (tipo oggi) per l’articolo che vorrei, in realtà, pubblicare.
NAME
expect – programmed dialogue with interactive programs, Version 5SYNOPSIS
expect [ -dDinN ] [ -c cmds ] [ [ -[f|b] ] cmdfile ] [ args ]INTRODUCTION
Expect is a program that “talks” to other interactive programs according to a script. Following the script, Expect knows what can be expected from a program and what the correct response should be. An interpreted language provides branching and high-level control structures to direct the dialogue. In addition, the user can take control and interact directly when desired, afterward returning control to the script.
Questo programma è molto utile per alcuni shell script che devono, per esempio, interagire con altri programmi pensati per essere usati da un utente, o anche con alcuni server (telnet, pop, stmp, …). La sintassi è abbastanza semplice ed è descritta molto bene nella man page quindi è inutile dilungarsi nel decriverla, anche perchè diventerebbe un copy-paste del manuale. Io vi dico solo che è molto potente, e io lo usavo col vecchio router per loggarmici via telnet e controllare alcuni file salvando i dati che mi interessavano in locale.