Expect script error missing close-brackets
expect is an extension of the Tcl language. In Tcl, square brackets are used for command substitution, exactly the way backticks are used in posix shells.
Change
send -- "^[-"
to
send -- {^[-}
The curly braces prevent command substitution, so the open bracket is seen as just a plain character.