Posted to tcl by kbk at Wed Mar 21 19:41:32 GMT 2018view pretty
#!/no_backup/ActiveTcl-8.6/bin/tclsh package require Expect # exp_internal 1 spawn /bin/sh expect {$ } send "ls -1\n" expect \r\n expect { -re {^([^\r\n]*\.tcl)\r} { set fname $expect_out(1,string) puts "Tcl file: $fname" exp_continue } -re {^([^\r\n]*)\r} { set fname $expect_out(1,string) puts "Non-Tcl file: $fname" exp_continue } -re {^[^\r\n]*\$ $} { puts "Got shell prompt again." } -re {[^\n]*\n} { exp_continue } timeout { puts "Timeout before all patterns matched." } } send exit\r\n expect eof