Linux基于expect(tcl)实现shell自动交互

1、需求:在shell中执行scp命令时,可以自动输入密码,而不用手工交互输入。


2、方案:采用expect来实现。
      Expect是一个基于TCL开发出的语言包。
      而TCL(Tool Command Language)工具脚本语言,是Linux内的一种语言包。
      执行shell脚本,要先安装tcl和expect,安装次序先tcl后expect,expect依赖tcl。
      1)tcl官网:http://www.tcl.tk/
      2)expect官网:http://expect.sourceforge.net/
      下载相应包后解压make install即可。


3、脚本:shell

    

#!bin/sh  
  
expect<<EOF  
set timeout 200  
spawn scp -R /tmp/test.txt username@ip:/tmp
expect "password:"   
send "123456\r"  
expect eof  
EOF 

其中要复制的目的端主机,用户名是username,密码是123456。

有兴趣可以继续研究expect。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值