在bash脚本函数中使用expect

时间:2014-08-08 13:41:23

标签: linux unix ssh expect

我知道这个问题在过去已被问过万亿次。不过我的问题与标题略有不同。

我想把下面的代码块放在一个函数中,我不清楚我应该怎么做。

user>cat myScript.sh  

myFunction() {  
/usr/bin/expect  <<EOF    
#!/usr/bin/expect -f  
spawn ssh user@$1  
expect "assword:"  
send "mypassword\r"  
interact  
EOF   

}  

echo -e "Enter the server name"  
read servername  

myFunction servername

-----------脚本结束---------------

我知道ssh密钥,我也可以使用它,但我没有权限使用ssh密钥,因为我在本地服务器上使用共享用户ID。

问题:

此脚本无法跳过密码promt,登录失败,如下所示:

[user~]$ bash -x login.sh  
+ /usr/bin/expect  
spawn ssh testUser@1.2.3.4  
testUser@1.2.3.4's password:  
[user~]$

0 个答案:

没有答案