【发布时间】:2010-02-11 06:16:18
【问题描述】:
我有一个脚本(dobrt),它在执行时要求输入密码。我怎样才能编写一个脚本来执行 dobrt 并自动提供 密码 它要求。
当我执行 ./dobrt -p file.txt 时,系统要求输入密码。我希望脚本自动发送密码。这是输出
$ ./dobrt -p file.txt
Found 194 tests to execute
------------ 2010 February 11 11:27:33 ------------
Password: ***************
我尝试为此使用 shell 和 expecxt 脚本。这就是我所做的。
我有 2 个脚本。我从第一个脚本(run_dobrt.sh)调用第二个脚本(run_dobrt.exp)。
脚本 1:run_dobrt.sh
#!/bin/ksh
TESTCASE_HOME="/home/abhijeet/code/testcases";
TESTCASE_LIST="file.txt";
PASSWORD="*****";
echo "Running Expect Script"
`./run_dobrt.exp $TESTCASE_HOME $TESTCASE_LIST $PASSWORD`
脚本 2:run_dobrt.exp
#!/usr/local/bin/expect -f
set TESTCASE_HOME [lindex $argv 0];
set TESTCASE_LIST [lindex $argv 1];
set PASSWORD [lindex $argv 3];
set timeout 200
spawn $TESTCASE_HOME/dobrt -p $TESTCASE_HOME/$TESTCASE_LIST
expect "*?assword:*" {send -- "$PASSWORD\r";}
expect eof
现在当我运行 run_dobrt.sh 时出现以下错误 run_dobrt.sh[20]:spawn:未找到 如何摆脱此错误并完成此任务?请帮忙。
【问题讨论】: