expect是用于两个主机之间交互的一个工具,如果主机A要和B交互,比如要执行B上的命令和脚本,需要现在A上装tcl和expect
具体软件的下载 ,看下面的连接
http://www.cnblogs.com/kevingrace/p/5900303.html
同时要写个expect的脚本
例如写个test.exp文件
文件下写上
#!/usr/bin/expect
set timeout 10 #可以设置一个超时时间也可以不设置
set dec_file [lindex $argv 0]
spawn ssh ctgmkt@10.140.16.205 #开启一个进程
expect "*password:" # 当返回的字符串以"word:" 结尾的话,就发送下面的send 字符串,相当于在命令行中键入的命令
send "ctgmkt@123\r" # 键入字符串并打入回车符
expect "*~]$" # 当出现以 "*~]$"结尾的字符串后
send "cd /home/ctgmkt/mktag_shell_file/model_outomatic_put_files\r" #就send 这里的字符串 并 键入回车符
expect "*~]$" #当出现 "*~]$"
send " java -cp 1106_yz2OS.jar test.OSExecuter $dec_file\r" #就执行下面的脚本命令
expect "*b" #当出现以b结尾的情况
expect eof #就退出
执行test.exp : expect test.exp
如果要进入expect的命令行形式 就 直接键入 expect 就进入到了 expect的命令行环境