位置:海鸟网 > IT > linux/Unix >

expect脚本安装和一个简单的脚本

前不久因为进行异地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学习” 博客,请务必保留此出处

本文来源:错新网[]