执行某一命令(./cmu)时需要输入密码,但程序调用这一命令时无法传密码参数,请大家指教


目前我遇到一个问题是:执行某一命令(./cmu)时需要输入密码才能完整执行,但现在项目中的程序需要调用这一命令,目前我不知道怎么传密码参数,请大家指教
./cmu export -handle=30 -output=myss.cer
Please enter password for token in slot 1 : **********

还是需要修改配置文件方法呢?

编程 程序员 python java shell

流萤与月光 10 years, 6 months ago

^_^ (正好撞上熟悉的问题的表情)

你需要使用 expect 。这个工具可以监视进程的运行,并等待必要时机向进程的 stdin 提供数据。经常用于SSH的无值守登录(监视 Password: 密码输入提示,并自动提供密码)。

expect 其实也是一种脚本解释器。你需要写专门的 expect 脚本,用来告知 expect 具体去监视什么样的提示,并作出什么样的应答。

教程你可以在网上找找看。

expect 一般需要另行安装。不过各种Linux的软件仓库里都有。

skidy answered 10 years, 6 months ago

Your Answer