版权声明:本文系作者原创。未经许可,不得转载。

用expect实现无密码自动远程登陆。代码如下:
cmoslogin.sh

#!/usr/bin/expect -f

set timeout 30
spawn ssh system@192.168.100.100
expect "system@192.168.100.100's password:"
send "system\r"
expect "]*"
interact

用expect实现无密码自动远程复制单个文件,再调用该程序,实现无密码自动远程复制多个文件。代码如下:

cmoscopysingle.sh

#!/usr/bin/expect -f

set timeout 30
set cmosfile [lindex $argv 0] 
spawn scp $cmosfile system@192.168.100.100:/home/user/
expect "system@192.168.100.100's password:"
send "system\r"
expect "]*"


cmoscopy.sh

#!/bin/bash

if [ $# -eq 0 ]       ##判断参数是否存在
then
    exit                     ##不存在退出
else   
    for i in $*             ##存在话,取参数放入a中循环
    do
    cmoscopysingle $i
    done
fi

使用方式如下:
./cmoscopy.sh *.cpp    //将当前目录下所有的cpp文件上传
./cmoslogin.sh   //登陆

lansheng228
256 声望4 粉丝