日期:2014-05-16  浏览次数:20724 次

SHELL中如何自动输入交互口令登录CVS
大家好,求教自动输入交互口令登录CVS(采用extssh协议流程)的方法。

刚才我自己也在网上尝试了一些办法,但是发现都不太好用。

我自己尝试的步骤如下:(参考文章:http://os.51cto.com/art/200912/167898.htm)

1)首先尝试重定向输入方法 :
cvs log -w $src_file <<EOF
pass123
EOF

此方法无效果。

2)然后尝试使用管道

#!/bin/bash  
echo "pass123" | cvs log -w $src_file 

此方法也是无效的。

然后尝试文章中列举的第三种方法:
#!/usr/bin/expect  
spawn log -w $src_file  
expect "password: "  
send "pass123\r"  
expect eof
exit 

结果发现我的CentOS没有安装spawn和expect两个工具。

尝试安装:
$ yum update
$ yum install spawn -- 无法找到相应的软件包

我应该怎么解决呢:)

程序开发区高手如云,请大家不吝指教,这里先感谢啦!


------解决方案--------------------
spawn 是expect的内部命令

你试试 yum install expect
------解决方案--------------------
安装expect即可
yum install expect