Chinaunix首页 | 论坛 | 博客
  • 博客访问: 259540
  • 博文数量: 56
  • 博客积分: 1190
  • 博客等级: 少尉
  • 技术积分: 640
  • 用 户 组: 普通用户
  • 注册时间: 2011-09-21 17:05
文章分类

全部博文(56)

文章存档

2014年(2)

2013年(4)

2012年(46)

2011年(4)

我的朋友

分类: LINUX

2012-03-22 17:55:57

Linux Shell-Expect调用shell里的变量

先看上一文章中expect里的脚本:

[root@mail root]# more getdata.sh
#!/usr/bin/expect
set password 123456

spawn /usr/bin/scp /web/backup/
expect "password"
send "$password"
send "\n"
interact

这时你会发现红色字体为日期参数yyyy-mm-dd.

如何用shell里的date命令进行引用呢.实在没办法,对角本进行如下处理.

[root@mail tmp]# more getdata.sh
#!/usr/bin/expect
set password 123456

set DATE [lindex $argv 0]
spawn /usr/bin/scp /web/backup/
expect "password"
send "$password"
send "\n"
interact

[root@mail tmp]# more scpdata.sh
#!/bin/sh

DATE=`/bin/date +%Y%m%d`
timestamp=`date +%Y-%m-%d`

/tmp/getdata.sh $timestamp

2010-12-14再次查看CU,有高人给出这样的脚本.很给力.

#!/usr/bin/expect -f
set password 123456
set date [exec date "+%Y-%m-%d"]
spawn /usr/bin/scp ://backup/test-file-$date /test/backup/
expect "assword:"
send -- "$password\r"
expect "assword:"
send -- "$password\r"
expect eof
阅读(4698) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~