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