需要的文件:
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
执行过程结果:
本文最后记录时间 2023-10-14
文章链接地址:https://me.jinchuang.org/archives/7.html
本站文章除注明[转载|引用|来源],均为本站原创内容,转载前请注明出处
文章链接地址:https://me.jinchuang.org/archives/7.html
本站文章除注明[转载|引用|来源],均为本站原创内容,转载前请注明出处