繁体   English   中英

期望脚本运行shell命令

[英]Expect script to run shell command

如何在Expect脚本中运行Shell命令并检查一些特定的字符串?

#!/usr/bin/expect

set timeout 20

send "ps -aef | grep P1"

expect "string"

Blah 
Blah

exit;

我尝试用spawnexecsystem命令代替send ,但是它总是超时或以某种错误结束。

模式是您spawn程序, expect它产生一些输出, send一些输入(必要时重复最后两个),然后close; wait close; wait完成。 如果程序没有产生预期的输出,您将等到它完成或超时。

幸运的是,您可以一次等待多个事情:

spawn ps -aef
expect {
    "P1" { ... got it ... }
    eof { ... not got it ... }
    timeout { ... ps hung? ... }
}
close
wait

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM