linux expect

a.sh批量傳文件sql

#!/bin/bashshell

for i in `cat /shell/aa.txt`
do
m=`echo $i|awk -F: '{print $1}'`
n=`echo $i|awk -F: '{print $2}'`
expect -c "
    spawn scp  /data/sqldeveloper-3.2.20.09.87-1.noarch.rpm root@$m:/data/
    expect {
        "*password:*" { send $n\r\n; interact }
        eof { exit }
    }
    exit
    "
done
 
b.sh批量執行操做
#!/bin/bash
for i in `cat /shell/aa.txt`
do
m=`echo $i|awk -F: '{print $1}'`
n=`echo $i|awk -F: '{print $2}'`
expect -c "
    spawn ssh root@$m /bin/rpm -ivh /data/sqldeveloper-3.2.20.09.87-1.noarch.rpm
    expect {
        "*sure*" { send yes\r\n; interact }
        "*password:*" { send $n\r\n; interact }
        eof { exit }
    }
    exit
    "
done
 
a.txt文件內容
192.168.0.182:passwd
192.168.0.183:passwd
192.168.0.184:passwd
192.168.0.185:passwd
192.168.0.186:passwd
192.168.0.187:passwd
192.168.0.188:passwd
相關文章
相關標籤/搜索