1.安装expect
yum -y install expect

2.创建iplist.txt文件(要分发的IP地址)
192.168.163.131
192.168.163.134

3.创建user.txt(里面包含密码)
3398986
3398986

4.创建脚本 test.sh,test.log
test.sh

#!/bin/bash
echo "拷贝情况如下:" > /root/test.log
n=`cat /root/iplist.txt | wc -l` #分发的ip数量
for (( i=1; i<=$n; i++ ))
dopasswd=`cat /root/user.txt|head -$i|tail -1`#第i个IP地址的密码ip=`cat /root/iplist.txt|head -$i|tail -1`#第i个IP地址echo $ip
##自动交互
/usr/bin/expect <<EOF
spawn scp /root/1.txt $ip:/root/
expect "yes/no" {send "yes\n;exp_untinue"}
expect "password" {send "$passwd\n"}
expect eof
EOF
if [ $? -eq 0 ];thenecho "$ip:成功" >>/root/test.log
elseecho "$ip:失败" >>/root/test.logfi
done

注:代码后面的注释去掉

shell脚本,结合expect给当前网段所有主机分发任意文件相关推荐

  1. linux使用shell脚本利用expect工具实现SCP传输文件到多台服务器

    1.安装expect yum install expect 2.设置服务器地址,用户名,密码,源路径,目标路径 新建文件host.txt添加如下内容 192.168.0.135 root 密码 源路径 ...

  2. Linux下shell自动输入密码,shell脚本通过expect脚本实现自动输入密码

    背景:在远程文件下载时,需要输入对方的服务器密码,shell不支持交互输入内容,可以用下面两种方式实现 一.在shell脚本中嵌入expect来实现密码输入 expect是一个自动交互功能的工具.ex ...

  3. 【shell】shell脚本实战-expect语言的使用

    文章目录 expect的介绍 1. 含义 2. 应用场景 3. 安装 expect语法介绍 实战案例 1. expect实现ssh自动登录 方法一: 方法二: 传参版 总结 expect的介绍 1. ...

  4. Shell脚本交互 expect 和send指令

    1 概述 expect是一个免费的编程工具语言,用来实现自动和交互式任务进行通信,而无需人的干预.expect需要Tcl编程语言的支持,要在系统上运行expect必须首先安装Tcl. 2 expect ...

  5. 编写一个shell脚本,使其能够备份/etc目录下所有文件,并且备份的文件名需要自动生成日期,即产生后缀名形如.backup_20210624的文件。

    一.实现过程: 目录 一.实现过程: 二.验证结果: 1.在当前目录下,使用vi或者touch命令新建一个shell脚本文件,并且使用chmod命令添加权限(我这里添加的是最高权限),如图: 2.使用 ...

  6. shell脚本读取每行文本内容url批量下载远程文件

    文本内容如下: shell脚本如下: #!/bin/bash for line in $(cat 1.txt) do$(wget -P /home/img $line)echo $line done

  7. shell脚本——业务上线前扫描网段内所有ip地址

    一.前言 当业务上线之前,扫描ip地址,那些地址没有没占用. 通过for循环,一直ping测试IP地址,假设咱们C类网段公有254个地址,从1遍历到254 二.上脚本 #!/bin/bash ip=1 ...

  8. shell脚本一步完成多层ssh跳转时的文件传输:Multi-layer scp

    本文发布于个人公众号:WriteSimpleDemo 专注shell,欢迎关注 前言 写这个工具主要是为了解决一个困惑了我四年的难题,即:多层ssh跳转时的文件传输. 由于工作中,经常需要ssh连接到 ...

  9. 《Linux Shell脚本攻略》读书笔记第三章 以文件之名

    1.生成任意大小文件 dd [root@stone ~]# dd if=/dev/zero of=f1_dd bs=1M count=1 1+0 records in 1+0 records out ...

最新文章

  1. android 获取布局textview,android – 获取TextView中文本的位置
  2. c语言 求方程ax,关于求方程ax2+bx+c=0根的问题
  3. 3.0的USB,我们都用错了。
  4. 用matlab建立控制系统的数学模型,第二章控制系统的数学模型.ppt
  5. Java基础_0206:方法的定义与使用
  6. SAP web 开发 (第二篇 bsp 开发 mvc模式 Part2 )
  7. (二叉树DFS)下落的树叶
  8. JAVA 第2课 基本程序设计
  9. P2617 Dynamic Rankings
  10. rabbitmq windows 连接 linux,在Centos7中,从主机 Windows 上无法远程访问 Linux 上rabbitmq的解决方法...
  11. 关于支持FLV、HLS、RTSP、WS-FLV/WS-RTSP、WEBRTC、HEVC/H265的永久免费H5直播点播播放器SkeyeWebPlayer.js断线重连问题
  12. 咸鱼3D打印—3D打印的基本流程
  13. 使用MATLAB求矩阵的偏导数,求向量对变量的偏导数问题
  14. 表格里加横线一分为二_我告诉你excel表格分割线一分为二
  15. [python]Crypto.Util.number ,long_to_bytes函数说明
  16. ddddocr 汉字位置识别
  17. 2021年氧化工艺考试报名及氧化工艺模拟考试题库
  18. 微信消息管理之被动回复用户消息
  19. java的Excel导出方式总结
  20. 六西格玛管理测量系统的特性

热门文章

  1. java快速排序代码6_分分钟掌握快速排序(Java / Scala 实现)
  2. mysql innodb 数据恢复_MYSQL INNODB 数据库恢复 转
  3. java string补空格_Java String字符串补0或空格详解
  4. ElasticSearch实践(三)Rest API简介
  5. 西南交大计算机辅助制造a卷,计算机辅助制造 西南交大作业.doc
  6. Django怎么配置mysql数据库_Django如何配置mysql数据库
  7. HTML+Jquery实现2022跨年烟花特效,除夕最炫烟花代码,跨年怎能没有烟花
  8. OpenShift 4.3 - 基于虚拟机的BareMetal离线安装(1-2)
  9. 在C#中使用反射的简单例子
  10. linux中的权限管理,Linux中的用户和权限管理