shell脚本进行循环按行读取文件内容传参到其他shell脚本中

本文介绍了一种通过shell脚本实现对多个远程主机进行批量SSH登录及执行特定任务的方法。该方法通过读取配置文件中的主机地址和密码,利用expect工具自动化处理SSH交互过程,实现了远程执行如重启Tomcat等任务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

host.text内容

192.168.40.152 123456

192.168.40.182 123456

循环读取文件内容的方法并传递参数

dir=/home/hanson/hsshell/sysLoginSh
while read line
do
host=`echo $line| awk '{print $1}'`
passwd=`echo $line | awk '{print $2}'`
$dir/cpExeShell.sh $host $passwd &
done < $dir/host.txt

将参数传递到cpExeShell中,对应的获取方法

set HOST [lindex  $argv 0]
set PASSWD [lindex  $argv 1]
spawn ssh root@$HOST
expect  "(yes/no)?" { send "yes\n" }
expect "*password:" { send "$PASSWD\n" }
expect "*password:" { send "$PASSWD\n" }
#expect "*#" { send "cd /data/server/apache-tomcat/apache-tomcat8881/bin\n" } #执行相关操作,比如adduser
expect "*#" { send "/home/tomcatRestat.sh\n" } #执行相关操作,比如adduser
expect eof

lindex $argv 0代表第一个参数 根据下标获取参数顺序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值