免密码复制远程linux服务器文件

#!/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 $user@$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 格式也是空格隔开
从而赋值以后 执行后面的命令

猜你喜欢

转载自blog.51cto.com/14114496/2343103