靳闯博客 记录是一种习惯,分享是一种态度
  • 波浪
  • 波浪
  • 波浪
  • 波浪
expect - linux远程执行命令
发表于: | 分类: 技术积累 | 标签: Linux Expect SSH | 评论:0 | 阅读: 445

需要的文件:

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

login.sh 脚本文件

#!/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主机的密码
    /root/expect $i $p                             #传递ip和密码信息到expect
done

expect 文件 !注意:文件中注释要删除掉

#!/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

passwd.txt 文本文件

192.168.23.252 123456

执行过程结果:
expect.png


商业转载请联系作者获得授权,非商业转载请注明出处,谢谢合作。


如果这篇文章帮助到了你,我感到十分荣幸!

或许你不想写点什么·但我依旧在这里

icon_mrgreen.pngicon_neutral.pngicon_twisted.pngicon_arrow.pngicon_eek.pngicon_smile.pngicon_confused.pngicon_cool.pngicon_evil.pngicon_biggrin.pngicon_idea.pngicon_redface.pngicon_razz.pngicon_rolleyes.pngicon_wink.pngicon_cry.pngicon_surprised.pngicon_lol.pngicon_mad.pngicon_sad.pngicon_exclaim.pngicon_question.png2018new_aini_org.png2018new_baobao_thumb.png2018new_erha_org.png2018new_kuxiao_thumb.png2018new_yun_thumb.png2018new_hufen_thumb.png2018new_gui_org.png2018new_xiaoerbuyu_org.png2018new_heixian_thumb.png2018new_wabi_thumb.png2018new_tianping_thumb.png

站点地图 网站地图
豫ICP备17003270号 | Copyright © 2018 💖 靳闯博客
Typecho🍹Sgreen
TOP