Hey peeps.. I seem to have a bug in my expect script. The script changes passwords on HP blade servers via telnet. It appears that I am getting an extra line back from the server that I was not, um, expecting and it causes the script to exit. Here is the section of script I am concered with:
# look for "accepted" expect "*accepted." # now look for <hostname>-User Access Control# expect "*Control#" # send an apply send "apply\r" # look for the same prompt as before expect "*Control#" # now tell it to save send "save\r" # now look for the FLASH prompt expect "*[y/n]:" # enter a "Y" send "Y\r" the script fails after "apply" here is captured output (but redirecting stdout, nothing was ever sent to stderr): - User Access Control# usrpw Changing USER password; validation required: Enter current administrator password: Enter new user password: Re-enter new user password: New user password accepted. >> rtpndsfnth1a8 - User Access Control# apply ------------------------------------------------------------------ Apply complete; don't forget to "save" updated configuration. >> xxxxxxxxxxx - User Access Control# spawn telnet xxx.xxx.xxx.252 Trying xxx.xxx.xxx..252... See, that extra "Apply complete" line seem to be throwing me off. The next line should be the "Control" prompt I am looking for and I thought that this extra line would be processed as I thought it should but it is causing the whole script to fail. The script itself is called via a shell script and it is only invoked one IP at a time (via the parent shell script). Any ideas? Greg -- TriLUG mailing list : http://www.trilug.org/mailman/listinfo/trilug TriLUG Organizational FAQ : http://trilug.org/faq/ TriLUG Member Services FAQ : http://members.trilug.org/services_faq/ TriLUG PGP Keyring : http://trilug.org/~chrish/trilug.asc
