1

I'm trying to learn how to use the expect command, to help me automate deployment of some software via shell scripts, and figured I start with something simple to get me started.

I've created a file in my home dir called 'foo' using:

touch foo

And I've created the following script saved as test.exp

#!/usr/bin/expect
spawn rm -i foo
expect "rm: remove regular empty file `foo'?"
send "y\r"

When I run the script using ./test.exp, it spawns the rm command, but it doesn't appear to send the Y and carriage return.

I know I don't have a typo in the expect string, as I've used copy and paste to put in the script.

What am I doing wrong?

Bryan
  • 7,628
  • 15
  • 69
  • 94

1 Answers1

1

Add this line after the send line:

expect eof
Dennis Williamson
  • 62,149
  • 16
  • 116
  • 151