#!/bin/bash
#
#****
#Author: zhang
#QQ: 531908902
#Date: 2019-01-15
#FileName: expect_scp.sh
#URL:
#Description: The test script
#Copyright (C): 2019 All rights reserved
#****
cat name.txt |while read ip user passwd;do
expect <<EOF
spawn scp [email protected]$ip:/date/* /date/dong
expect "yes" {send "yes\n" }
expect "est" {send "$user\n" }
expect "password" {send "$passwd\n" }
expect eof
EOF
done
其中 name.txt 文件和该脚本都在同一个文件夹
name.txt 格式
172.20.120.39 root centos7
cat的行赋值给while循环的变量
read赋值是一行一行的读取的 read 后面的变量以空格 分别获得 name.txt第一行的值,name.txt 格式也是空格隔开
从而赋值以后 执行后面的命令
原文地址:http://blog.51cto.com/14114496/2343103