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

[加分]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
------解决方案--------------------
看看这个文件有吗?
/usr/bin/expect