У меня есть сценарий (dobrt), который при выполнении требующим для password.How могу я написать скрипт, который выполняет dobrt и автоматически подает пароль он просит.как использовать скрипт, чтобы ввести пароль, когда интерфейс запрашивает его
При выполнении ./dobrt -p file.txt
система запрашивает пароль. Я хочу, чтобы пароль автоматически отправлялся по сценарию. Вот вывод
$ ./dobrt -p file.txt
Found 194 tests to execute
------------ 2010 February 11 11:27:33 ------------
Password: ***************
Я попытался использовать сценарии оболочки и expecxt для этого. вот что я сделал.
У меня есть 2 скрипта. Я вызываю второй скрипт (run_dobrt.exp) из первого (run_dobrt.sh).
Сценарий 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: not found Как избавиться от этой ошибки и выполнить эту задачу? Пожалуйста помоги.
Пользователи с разными паролями используют этот скрипт. поэтому он не подходит для жесткого кодирования пароля. – Abhijeet
Я не объяснял себя должным образом. Я имел в виду предоставить пользователю ввести пароль с помощью аргумента командной строки. Не переустанавливать пароль внутри приложения. – mgfernan