log_user 0 set timeout 5 # C1: interactive cat with simple single-pattern expect spawn /bin/cat send "ABC\r" if {[catch {expect "ABC"} r]} { puts "C1-ERR $r" } else { puts "C1-MATCHED" } catch {close}; catch {wait} # C2: produce-then-exit, single pattern, eof, exit status spawn /bin/sh -c {echo XYZ; exit 3} if {[catch {expect "XYZ"} r]} { puts "C2-ERR $r" } else { puts "C2-MATCHED" } if {[catch {expect eof} r]} { puts "C2-EOF-ERR $r" } else { puts "C2-EOF" } catch {wait} w; puts "C2-WAIT=$w" puts "CLEAN-DONE"