恩,需求理解错了。
expect里不用发送shell命令吧,你根据返回的不同字串定义不同的退出码不行吗? 然后在shell里检查expect的退出码。
类似这样:

expect "*ssword:"
send "your_pass\r"
expect {
eof { exit 1 }
"*ssword:" {exit 2}
"*#" {exit 3}
"*$" {exit 4}
timeout {exit 6}
}

2008/5/21 zheng918 <[EMAIL PROTECTED]>:

> Hello jason zhang,
>
>
>  在shell中执行ssh,此时ssh属于shell的子进程,在ssh结束以前,是不会将控制权返回给当前shell的,因为只用到一个shell
>
>        所以使用kill去发信号,得等子进程结束,中断就没有意义了。
>
> Regards!
>
>
> zheng918
> email: [EMAIL PROTECTED]
> 2008-05-21
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
 要向邮件组发送邮件,请发到 [email protected]
 要退订此邮件,请发邮件至 [EMAIL PROTECTED]
-~----------~----~----~----~------~----~------~--~---

回复