[shell脚本]-在shell中定义expect function

概述

  1. 使用shell脚本加expect 实现批量登录,互信等,免交互式操作,之前主要写两个脚本,一个是expect脚本里面主要是接受参数,进行ssh 免交互操作,另一个是shell脚本,里面调用expect的脚本,传入参数,
  2. 现在需要把expect和shell脚本内容全部合并在shell脚本中 可以用shell function 里面定义expect

例子:

  1. shell 脚本中定义function, 然后把<< EOF 所有内容,当作expect 标准输入
#!/bin/bash
function expect_bash(){
/usr/bin/expect << EOF
spawn ssh -o StrictHostKeyChecking=no [email protected]${i} "hostname"
expect {
        "*password:" {exp_send "YNETserver1\r"}
}
expect eof
EOF
}

for i in `cat ip`
do
    expect_bash
done

原文地址:http://blog.51cto.com/14194447/2348750

时间: 2024-11-10 08:02:16

[shell脚本]-在shell中定义expect function的相关文章

shell脚本介绍 shell脚本结构和执行 date命令用法 shell脚本中的变量

一.shell脚本介绍shell脚本要想写好,必须通过不断地去练习写才能写好,没有捷径要在我们拿到一个需求的时候有一个脚本的大致思路,想到需求怎么去实现shell脚本可以大大提高我们的工作效率二.shell脚本结构和执行[[email protected] ~]# mkdir shell //创建一个shell文件夹,存放实验的shell脚本[[email protected] ~]# cd shell/[[email protected] shell]# ls[[email protected

shell脚本修改json中某个字段的值

shell脚本修改json中某个字段的值 思路:通过awk来找到旧数据,然后用sed来替换旧数据 源码 config.json { "name": "the_name", "id": "132869", "content_url": "https://hot.example.com/", "enable_feature1": "true", &qu

20.1-4 shell脚本介绍 shell脚本结构和执行 date命令用法 shell脚本中的变量

20.1 shell脚本介绍20.2 shell脚本结构和执行20.3 date命令用法%w 星期几 %W今年的第几周cal是显示日历的时间戳可以相互查询 20.4 shell脚本中的变量 原文地址:http://blog.51cto.com/13450039/2104595

Saiku数据库迁移后的刷新脚本-Shell脚本读取数据库中的数据(二十三)

Saiku数据库迁移后的刷新脚本 之前有谈过对saiku中的数据进行刷新,因为saiku默认会从缓存中查询数据,但是配置不使用缓存又会效率低下... 所以这里就需要做一个数据刷新,每次ETL之后都需要执行一遍数据刷新脚本. 刷新脚本主要分为两部分 1.使用shell命令从数据库中读取已有的用户信息 (因为已经做过数据迁移,数据库已经从h2转为我们自己的mysql) saikuRefresh.sh #!/bin/bash #数据库连接信息 HOSTNAME="10.11.22.33" #

利用shell脚本统计文件中出现次数最多的IP

比如有如下文件test.txt 1  134.102.173.43 2  134.102.173.43 3  134.102.171.42 4  134.102.170.9 要统计出现次数最多的IP可以利用以下shell脚本: cat test.txt | awk '{print $2}' | sort | uniq -c | sort -n -r | head -n 1 [原创]统计IP次数最多的 一条还是很常见,很实用,很简单的命令 netstat -ntu Active Internet

7个shell脚本实例--shell脚本练习必备

概述 看多shell脚本实例自然就会有shell脚本的编写思路了,所以我一般比较推荐看脚本实例来练习shell脚本.下面分享几个shell脚本实例. 一.监测Nginx访问日志Exception情况,并做相应动作 假设服务器环境为lnmp,监控出现Exception错误,并钉钉通知. #场景: #1.访问日志文件的路径:/data/logs/plateno-coupon-server/plateno-coupon-server.log#2.脚本死循环,每10秒检测一次,10秒的日志条数为300条

linux crontab定时任务运行shell脚本(shell执行sql文件)

今天做个linux定时任务(每晚12点把表汇总). 顺便写个博客记录一下~~ 为什么用linux定时任务,而不是在项目加定时任务呢?原因就是防止因为各种原因项目崩溃..所以就用了更加稳定的linux定时任务(我是这么想的( ^_^ )). 起初我感觉很简单,以为顶多半小时就搞定了,,,结果从10点弄到12点半才搞定(主要是我英语太渣和数据库报错导致)... ︿( ̄︶ ̄)︿废话到此结束--------------- crontab 格式     * * * * *      XXX 分    时

[Android]Recovery调用外部Shell脚本,Shell脚本使用ui_print方法

busybox_bin=/sbin/busybox # 获取PIPE get_outfd(){ if $busybox_bin ls -l /proc/self/fd/21 | $busybox_bin grep -q 'pipe'; then echo 21 else local all_pipe_file=/tmp/all_pipe_file.txt $busybox_bin ls -l /proc/self/fd/ > $all_pipe_file $busybox_bin grep 'p

shell脚本之函数的定义及使用

函数Function的使用 定义函数 1) 函数名称() { ... ... } 2) function 函数名称 { ... ... } 调用函数 函数名称 也可以通过位置变量的方式给函数传递参数 例子: 编写脚本,实现目录管理功能,要求使用函数 #!/bin/bash # createDir() { read -p "Enter directory: " dir if [ -d $dir ]; then echo "目录$dir存在" else mkdir -p