2.3-命令批量执行脚本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2.3-命令批量执行脚本相关的知识,希望对你有一定的参考价值。

命令批量执行脚本,同样需要两个脚本来实现:1 exe.expect

                                          2 exe.sh

                                          3 ip.list    IP列表

cat exe.expect


#!/usr/bin/expect

set host [lindex $argv 0]            #第一个参数,IP列表

set passwd "hd792310"

set cm [lindex $argv 1]              #第二个参数,cm要执行的命令


spawn ssh [email protected]$host


expect {

"yes/no" { send "yes\r"}

"password:" { send "$passwd\r" }

}

expect "]*"

send "$cm\r"

expect "]*"

send "exit\r"



cat exe.sh


#!/bin/bash

for ip in `cat ip.list`

do

    echo $ip

    ./exe.expect $ip "w;free -m;ls /tmp"    #一行执行多个命令,用;来分割

done



如果需要执行的命令很复杂,;分隔符不能胜任。此时需要写SHELL脚本,先同步到远程机器,然后把脚本写到第二个参数来执行。考虑到有ip.list等因素,不进入指定目录,找不到文件而报错,需要进入指定的目录来执行命令。


以上是关于2.3-命令批量执行脚本的主要内容,如果未能解决你的问题,请参考以下文章

shell批量执行多个shell脚本

批量复制及执行命令shell脚本

分发系统:命令批量执行脚本

批量执行命令:fabric

docker常用脚本执行命令(批量删除所有镜像容器,)

Airtest 执行脚本(批量)