一、expect脚本中,变量的不同写法

shell脚本中定义时间变量的写法:
time=`date "+%Y%m%d"`

==》》
直接照搬到expect中,设置的变量是不生效的:
set time `date "+%Y%m%d"`
这样的写法是错误的,无法识别。

==》》
应该这样写:
set time [exec date +%Y%m%d]
才是正确的写法。

二、shell脚本和expect脚本的结合

将expect加入到shell脚本后 set 定义的变量会失效;
解决办法 :将变量提到expect之外定义

#!/bin/bash
time=`date "+%Y%m%d"`
expect << EOF
cd /xxx
spawn scp user@ipaddr:/ /
set timeout 300
expect "assword:"
send "passwd\r"
expect "sftp>"
send "cd dir\r"
expect "sftp>"
send "get *admin*.$time*\r"
sleep 5
expect "sftp>"
sleep 5
#set timeout 300
EOF

expect脚本中,变量的写法的更多相关文章

  1. Shell脚本中变量和函数变量的作用域

    (1)Shell脚本中定义的变量是global的,其作用域从被定义的地方开始,到shell结束或被显示删除的地方为止.(2)Shell函数定义的变量默认是global的,其作用域从“函数被调用时执行变 ...

  2. 【三支火把】--- shell脚本中变量的类型及作用域

    一直对shell脚本有一种特殊的感觉,因此花了一段时间学习,本人擅长C语言编程,深受C语言荼毒,在学习其他任何类似于编程语言的东东的时候,都会不自觉的与C进行对比,因此对于shell中的变量的作用域一 ...

  3. Linux shell 脚本中变量的数学计算【转】

    本文转载自:http://blog.csdn.net/qinghezhen/article/details/9194287 首先从一个例子说起: x=1+1 echo $x 你是不是期待着输出2啊?让 ...

  4. 保留脚本中变量(dot)

    脚本 d:\dot.ps1 内容如下: $hostwrite-host "hh"$m="pp"$a ="cc" 通过  .  方式运行脚本 ...

  5. shell脚本中变量$$、$0等的含义

    $0 这个程式的执行名字$n 这个程式的第n个参数值,n=1..9$* 这个程式的所有参数,此选项参数可超过9个.$# 这个程式的参数个数$$ 这个程式的PID(脚本运行的当前进程ID号)$! 执行上 ...

  6. sql语句中变量的写法

        $sql = "update cat set num=num+1 where cat_id=$art[cat_id]";    $sql = "update ca ...

  7. linux自动化交互脚本expect详解set timeout 5是 意思是在expect语句中,5s后超时,不再作出选择。

    linux自动化交互脚本expect详解  更新时间:2020年10月21日 10:13:20   作者:lendsomething     这篇文章主要介绍了linux自动化交互脚本expect的相 ...

  8. shell 脚本中常用的内置变量

    在 Bash 解释器中,内置了许多变量,这些变量的功能是解释器自带的,我们在编写shell脚本时如果能灵活的使用它们,对脚本的编写效率以及差错大有帮助, 下面一一介绍这些变量 $FUNCNAME.$L ...

  9. shell脚本中打印所有匹配某些关键字符的行或前后各N行

    在日常运维中,经常需要监控某个进程,并打印某个进程的监控结果,通常需要打印匹配某个结果的行以及其前后各N行. 注意:echo使用-e参数,对打印的结果中进行\n换行 [root@mq-master02 ...

随机推荐

  1. zoj3435(莫比乌斯反演)

    题目链接: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3435 题意: 给出一个三维坐标 (x, y, z), 问该点与 ...

  2. ssh-ssh整合(Struts2+Sprinig+hibernate)

    在之前呢我们已经讲解过ssm以及ssm2的整合开发,今天我们进行ssh的整合,在之前已经有一篇整合ssh的文章,那是基于注解开发的,今天讲解的为基于配置文件注入方式进行开发.思路:spring管理hi ...

  3. 求第 i 个素数 Meissel Lehmer Algorithm + 二分 【模板】

    1473: L先生与质数V3 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 1348  Solved: 147 [Submit][Status][Web ...

  4. Age of Moyu (2018 Multi-University Training Contest 7)

    题目链接 #include <bits/stdc++.h> using namespace std; typedef long long ll; inline ll read(){ ,f= ...

  5. VC添加全局热键的方法

    VC添加全局热键的方法 这个方法靠谱 http://blog.csdn.net/lujianfeiccie2009/article/details/7498704 VC添加全局热键的方法 标签: bu ...

  6. EIGRP-8-路由器的邻接关系

    EIGRP路由器之间会建立并维护邻接关系.EIGRP在默认情况下会动态发现邻居路由器.也可以通过工程师手动配置(静态)发现邻居.   通过向目的组播组地址224.0.0.10或FF02: : A发送E ...

  7. JMeter - 连续性能测试 - JMeter + ANT + Jenkins集成 - 第2部分

    目标: 创建包含性能测试流程的持续交付管道,以尽早检测任何与性能相关的问题. 通常,全面的性能测试将在分段/预生产环境中完成,该环境可能与您的生产环境相同.在完成QA功能/回归验证后,将代码推送到分段 ...

  8. java insert mysql 中文乱码

    jdbc:mysql://192.168.1.77:3306/db360?useUnicode=true&characterEncoding=UTF-8 drop database if ex ...

  9. js 提示样式 ? 上写提示内容

    //再需要的地方放入 <img dms_map_key="zs_prise" src="${ctx }/static/image/tip.png" cla ...

  10. RabbitMQ使用教程(四)如何通过持久化保证消息99.99%不丢失?

    1. 前情回顾 RabbitMQ使用教程(一)RabbitMQ环境安装配置及Hello World示例 RabbitMQ使用教程(二)RabbitMQ用户管理,角色管理及权限设置 RabbitMQ使用 ...