- 论坛徽章:
- 0
|
先谢谢大家来关注这个问题
源代码如下:
#!/usr/bin/expect -d
set timeout 10
set RET_VALUE 0
set SRC_IP [lindex $argv 0]
set USER [lindex $argv 1]
set PASS [lindex $argv 2]
set SRC_FILE [lindex $argv 3]
set DST_FILE [lindex $argv 4]
spawn scp $USER@$SRC_IP SRC_FILE $DST_FILE
expect "*(yes/no)?*" {send "yes\r"}
expect "*password:*" {send "$PASS\r"}
expect "*Permission denied, please try again.*" {send "$PASS\r"}
expect "*(publickey,password).*" { set RET_VALUE 4; exit $RET_VALUE; }
expect timeout { set RET_VALUE 2; exit $RET_VALUE; }
expect eof
expect {
eof {}
"No such file or directory\r\n" { set RET_VALUE 3; exit $RET_VALUE; }
}
exit $RET_VALUE;
现在的问题是:(在输入用户名或者密码错误的情况下)
1、(publickey,password 脚本走不到,但手动输入情况下,连续输入2次错误密码的情况下,可以走到。不知道原因是为什么
2、有时候会返回0,认为正常执行了ssh操作。
3、有时候返回1,但我这里并没有返回1的情况
如果有了解的,请给个意见,
再次谢谢大家!
|
|