linux 远程操作(expect),linux操作expect


Expect是在Tcl基础上创建起来的,它还提供了一些Tcl所没有的命令,它可以用来做一些linux下无法做到交互的一些命令操作,在远程管 理方面发挥很大的作用。 spawn命令激活一个Unix程序来进行交互式的运行。  send命令向进程发送字符串。 expect 命令等待进程的某些字符串。  expect支持正规表达式并能同时等待多个字符串,并对每一个字符串执行不同的操作.   1.tcl安装 下载地址:http://www.tcl.tk/software/tcltk/download.html 安装方法:tar zvxf tcl8.6.6-src.tar.gz cd tcl8.6.6/unix ./configure --prefix=/usr/tcl --enable-shared make && make install cp tclUnixPort.h ../generic/ 2.expect 安装 下载地址:https://sourceforge.net/projects/expect/?source=typ_redirect 安装方法:tar zvxf expect5.45.tar.gz cd expect5.45 ./configure --prefix=/usr/expect --with-tcl=/usr/tcl/lib --with-tclinclude=../tcl8.6.6/generic/ make && make install ln -s /usr/tcl/bin/expect /usr/expect/bin/expect cp /usr/tcl/bin/expect /usr/bin/   3.使用案例: #/bin/bash auto_scp() { expect -c "set timeout -1; spawn scp -o StrictHostKeyChecking=no $2 ${@:3}; expect *assword:*; send -- $1\r; expect eof; exit;"; } auto_scp 111111 root@192.168.3.187:/home/ubuntu/a.xls /home/;  

相关内容