需要的文件:
password   #远程主机的ip 密码文件
expect        #执行远程登录,执行命令的脚本文件
login.sh       #shell 脚步调用这两个文件执行操作

#!/bin/bash
for i in $(awk '{print $1}' passwd.txt)              #for循环出主机ip信息
do
p=$(awk -v I="$i" '{if(I==$1)print $2}' passwd.txt)  #取出对应ip主机的密码
expect /root/login $i $p                             #传递ip和密码信息到expect
done
#!/usr/bin/expect -f
set hostname [lindex $argv 0]       #传主机ip参数
set passwd [lindex $argv 1]         #传主机密码参数
spawn -noecho ssh root@$hostname;   #执行ssh远程登录
expect {"*yes/no" { send  "yes\r"; exp_continue }        #模拟输入确认字段"*assword:" { send  "$passwd\r"; }               #模拟输入密码字段
}
expect "]#"
send "free -m\r"
send "df -hT\r"
send "exit\r"
expect eof
192.168.23.252 123456     #远程主机ip 和密码信息,可以添加多个主机信息一行一条主机信息

执行过程结果:

转载于:https://blog.51cto.com/jinchuang/1947054

expect - linux远程执行命令相关推荐

  1. linux远程执行命令

    经常要部署多台服务器上面的应用,如果一个个机器的登录太麻烦. 所有就想到编写一个脚本来部署不同的服务器 前提条件: 配置ssh免登陆 (1)命令行执行登录并且在目标服务器上执行命令 ssh user@ ...

  2. linux中spawn远程执行,Linux 远程执行命令,expect

    本地交互执行: 1. 修改shell #!/usr/bin/expect set USER [lindex $argv 0] set SHELL [lindex $argv 1] set timeou ...

  3. 20.27分发系统介绍;20.28expect脚本远程登录;20.29expect脚本远程执行命令;20.30expect脚本传递参数...

    20.27 分发系统介绍 shell项目-分发系统-expect 20.28 expect脚本远程登录 1. 安装expect [root@hao-01 ~]# yum install -y expe ...

  4. 20.27 分发系统介绍 20.28 expect脚本远程登录 20.29 expect脚本远程执行

    20.27 分发系统介绍 20.28 expect脚本远程登录 20.29 expect脚本远程执行命令 20.30 expect脚本传递参数 20.27 分发系统介绍 分发系统,什么叫分发系统,首先 ...

  5. 【shell】Linux Shell远程执行命令

    目录 shell远程执行 前提条件: 对于简单的命令: 对于脚本的方式: SSH命令格式 主要参数说明 ssh控制远程主机,远程执行命令步骤 准备工作 基于公私钥认证远程登录可能存在的不足 ssh 执 ...

  6. linux 带环境变量 远程执行,SSH远程执行命令环境变量问题

    SSH命令格式 usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec] [-D [bind_address: ...

  7. expect脚本同步文件、 expect脚本指定host和要同步的文件 、 构建文件分发系统 、批量远程执行命令...

    为什么80%的码农都做不了架构师?>>>    20.31 expect脚本同步文件 使用expect脚本同步文件 说明:核心命令是rsync #! /usr/bin/expect ...

  8. 执行远程linux命令,linux shell 远程执行命令

    经常要部署多台服务器上面的应用,如果一个个机器的登录太麻烦. 所有就想到编写一个脚本来部署不同的服务器 前提条件: 配置ssh免登陆 如果不会的请参加我的另外一篇文章 http://blog.csdn ...

  9. linux远程执行shell命令行,linux shell 远程执行命令--ftp

    linux shell 远程执行命令--ftp 2018-12-07 ftp有很多命令,熟悉这些命令你能大大的提高工作效率: FTP命令行格式为: ftp -v -d -i -n -g [主机名] , ...

  10. Linux 实操———— Shell 远程执行命令

    引言 目前,开发人员的部署方式是,将项目打包(Maven 打包) 然后将 生成的 jar 包等文件,通过Xshell 等终端工具手动传输到远程服务器上,然后再通过在终端执行远程服务器上的 shell ...

最新文章

  1. python使用matplotlib绘制水平条形图并在条形图上添加实际数值标签实战
  2. 机会的度量:概率和分布
  3. 青岛经济职业学校有计算机专业吗,青岛经济职业学校
  4. 全栈工程师可以分为哪几类?
  5. php打印上传错误信息,PHP上传文件错误信息说明
  6. mt4双线macd_指标小课堂|学院首创!独家手机MT4双线MACD指标设置教程
  7. 2021年,中国程序员前景一片灰暗,真的是这样吗?
  8. 网页嵌入谷歌翻译js插件
  9. IC卡密码的破解方法浅谈
  10. Unity 灯光系统详解
  11. java中数字作为布尔值_day50 java Script 数字和字符串 布尔值和数组 运算符 条件判断和三元运算...
  12. 小孩上楼梯的方式的种类
  13. UITT不忘初心,为交易而生
  14. oracle itl 故障,ORACLE ITL事务槽
  15. thebrain8破解
  16. 072 定积分之积分上限函数
  17. 6、远程终端工具安装
  18. Golang 和Python 几个小时前 几分钟 几天前的处理
  19. 大数据折射宣城旅游“智慧变革”
  20. 利用尾插法建立单链表(纯C语言小白版)

热门文章

  1. UVa232.Crossword Answers
  2. C盘空间太小,建议删除如下文件以释放空间!
  3. HTML PS 环境搭建,快捷键及简单图片处理(图片测量及抠取)
  4. 字符数组的定义与使用具体解析
  5. Entity Framework Plus
  6. AngularJs自定义指令详解(10) - 执行次序
  7. 多个onload事件写法
  8. thinkphp遗留问题
  9. 利用js排序html表格
  10. System.IO.Path 操作