发布时间:2011-07-20 09:41:14作者:知识屋
前不久因为进行异地copy数据,就想到了scp,但是这个东西需要手动去输入密码,不能放到后台去执行,于是就考虑有没有办法让他自动输入密码呢,最终发现了expect这个东西,很强大的东西,所以我就在本地测试了下,最终实现了不用手动输入密码也可以进行COPY数据,拿来与大家分享.
要使用expect需要预先安装tcl这个东西,然后再安装expect包.我这里使用的是tcl8.4.11-src.tar.gz和expect-5.43.0.tar.gz的安装包.
1.安装tcl和expect
#tar zxvf tcl8.4.11-src.tar.gz #cd tcl8.4.11/unix #./configure && make && make install #cp tclUnixPort.h ../generic/
#tar zxvf expect-5.43.0.tar.gz #cd expect-5.43/ #./configure --with-tcl=/usr/local/lib/ --with-tclinclude= /home/nagios/tcl8.4.11/generic/ --with-x=no
#make && make install
OK,tcl以及expect已经安装完成了.下面给出scp的一个expect很简单的一个脚本
#!/usr/local/bin/expect
spawn scp /home/nagios/tuning-primer.sh nagios@192.168.100.104:/home/nagios/
expect "Password:"
exec sleep 2
send "nagios&*(n"
interact
就这么一个简单的脚本,就可以实现了自动输入密码的功能,大家对expect的了解还是需要在网上自己找些资料的,他也支持函数、条件语句、循环语句的,功能蛮强大的.
本文出自 “linux学习” 博客,请务必保留此出处http://wiliiwin.blog.51cto.com/928128/207641
本文来源:电脑技术吧[http://www.zhishiwu.com]
linux一键安装web环境全攻略 在linux系统中怎么一键安装web环境方法
Linux网络基本网络配置方法介绍 如何配置Linux系统的网络方法
Linux下DNS服务器搭建详解 Linux下搭建DNS服务器和配置文件
对Linux进行详细的性能监控的方法 Linux 系统性能监控命令详解
linux系统root密码忘了怎么办 linux忘记root密码后找回密码的方法
Linux基本命令有哪些 Linux系统常用操作命令有哪些
Linux必学的网络操作命令 linux网络操作相关命令汇总
linux系统从入侵到提权的详细过程 linux入侵提权服务器方法技巧
linux系统怎么用命令切换用户登录 Linux切换用户的命令是什么
在linux中添加普通新用户登录 如何在Linux中添加一个新的用户
2012-07-10
CentOS 6.3安装(详细图解教程)
Linux怎么查看网卡驱动?Linux下查看网卡的驱动程序
centos修改主机名命令
Ubuntu或UbuntuKyKin14.04Unity桌面风格与Gnome桌面风格的切换
FEDORA 17中设置TIGERVNC远程访问
StartOS 5.0相关介绍,新型的Linux系统!
解决vSphere Client登录linux版vCenter失败
LINUX最新提权 Exploits Linux Kernel <= 2.6.37
nginx在网站中的7层转发功能