码迷,mamicode.com
首页 > 其他好文 > 详细

2.3-命令批量执行脚本

时间:2016-03-17 19:47:41      阅读:159      评论:0      收藏:0      [点我收藏+]

标签: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 root@$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-命令批量执行脚本

标签:2.3-命令批量执行脚本

原文地址:http://llzdwyp.blog.51cto.com/6140981/1752227

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!