#!/usr/bin/expect # expect used tcl syntax which is very indetaion and spaces sensitive keep that in mind # Set timeout set timeout 300 # Start your process spawn /opt/lrgex/kiauh/kiauh.sh # Initialize a variable to control the menu interaction set menu 1 # Single expect block with multiple patterns expect { "*Main Menu*" { # using condition here to make a break for the loop created by exp_continue as i need to use the pattern 2 times one for pressing 1 and one for pressing q if {$menu} { send "1\r" sleep 3 exp_continue } else { send "q\r" sleep 3 exp_continue } } "*Installation Menu*" { if {$menu} { send "4\r" sleep 3 exp_continue } else { send "b\r" sleep 3 exp_continue } } "*Download the recommended macros? (Y/n)*" { send "y\r" sleep 3 set menu 0 exp_continue } timeout { puts "Operation timed out" exit 1 } }