3

我编写了一个期望脚本,它会自动从普通用户切换到 oracle 用户,并触发一个用于进行数据库备份的脚本。现在的问题是我希望脚本等到另一个shell脚本被执行,即直到数据库备份成功。我试过谷歌搜索并发现了一些东西:1)在期望脚本中使用等待。但我找不到如何在期望脚本中使用等待命令来等待其他脚本被执行。2)在期望脚本中使用系统命令来调用另一个shell脚本,但我找不到如何使用它的确切语法。这似乎也是交流编程命令(如果是这样,那么我不能使用它)。

请提出一些方法让期望脚本等到子进程完成。

4

1 回答 1

0

在期望中,你会做类似的事情

set timeout -1
send "su - oracle\r"
expect $oracle_shell_prompt
send "backup_script.sh\r"
expect $oracle_shell_prompt
puts "backup script done"
send "exit\r"
expect $normal_user_prompt
于 2012-11-21T14:57:55.477 回答