For convience, I'll define the prompt and command here: set prompt "date" ;# our remote command set prompt "% " ;# our shell or whatever prompt we have Now we can do useful things: expect $prompt ;# wait for prompt send "date\r" ;# send command expect $prompt\r\n ;# discard command echo Finally, match and save the result and discard the next prompt: expect -re (.*)\r\n$prompt\r\n" Now the result is in $expect_out(1,string). If you want to read more about this, start on page 113 of Exploring Expect. PS: If the result might be more than 2000 characters, you'll need to use the match_max command to increase the buffer space.