Tuesday, March 10, 2009

expect小记

今天在找资料时意外地学到了如何在Shell中进行交互。 学习资源在这里
下面是我写的一个在Terminal里通过bash操作SQLPlus的脚本。
#!/usr/bin/expect

spawn sqlplus

expect "name"

send "umail\r"

expect "password\r"

send "umail\r"

expect "SQL>"

send "desc employees\r"

expect "SQL>"

send "quit\r"
上面的几个指令的意义如下:
pawn命令激活一个Unix程序来进行交互式的运行。 
send命令向进程发送字符串。
expect命令等待进程的某些字符串。 
expect支持正规表达式并能同时等待多个字符串,并对每一个字符串执行不同的操作

这个东西非常有用,可以直接将SSH,FTP等写到脚本里面,不需要人工来干预它。在系统维护中可以写一些脚本处理某些批量处理的问题,而不需要有人来看着它。
更多内容请看这里

No comments:

Post a Comment