Linux 用expect实现scp文件到其他服务器,免密码输入

我是在Ubuntu下用的, 需要 apt-get install expect .

#!/usr/bin/expect

#@Filename: sendfile.expect

set timeout 10

set username root

set password yourpasswd

set hostname 192.168.1.2

set filename [lindex $argv 0]

spawn scp -r $filename $username@$hostname:/usr/local/

expect "password:"

send "$password\n"

expect eof

这么用:

 ./sendfile.expect 1.txt

expect 不同于shell的$1 $2方式传参数, set key value的方式, 参数不够的话可以参考这种方式增加:

set filename [lindex $argv 0]

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容