Передача пользовательских данных из одного скрипта в другой во время выполнения - PullRequest
0 голосов
/ 06 февраля 2019

У меня есть требование, где ScriptA.sh имеет команды для запроса входных данных пользователя и выполнения набора действий.Я хочу автоматизировать это, создав другой скрипт, который будет читать вопросы, заданные в выходных данных ScriptA.sh, и предоставлять необходимые значения во время выполнения.

ScriptA.sh следующим образом: -

echo "Enter the CR Number"
read varnamecr
echo "CR Number is" $varnamecr
echo "Loading the config set. Choose Option From Below set
1.JAN
2.FEB
3.MAR"
read optionchoosen
echo "Option Choosen is :" $optionchoosen
echo "Will run the script/load configuration is this Ok ?[y/N]"
read userinput
echo "Proceed further, User has pressed ->"$userinput"<--Key"

Как написать второй сценарий для достижения этой цели.Пробовал spawn и несколько других команд во втором скрипте, но не повезло.Пожалуйста, помогите мне с этим.

Ответы [ 2 ]

0 голосов
/ 07 февраля 2019

Поскольку вы не указываете никакой оболочки в своем теге, это возможное, хотя и грубое, решение в ksh.Он использует возможности сопроцессора этой оболочки (уверен, что она не поддерживается в bash, хотя, пожалуйста, не указывайте меня на этом)

#!/bin/ksh

./ScriptA.sh |&

while read -p Dummy; do
        print $Dummy
        case $Dummy in
                "Enter the CR Number")print -p "CR123456"
                                        ;;
                "3.MAR")print -p "3"
                                ;;
                "Will run the script"*)print -p "y"
                                ;;
        esac
done

Вывод дает:

Enter the CR Number
CR Number is CR123456
Loading the config set. Choose Option From Below set
1.JAN
2.FEB
3.MAR
Option Choosen is : 3
Will run the script/load configuration is this Ok ?[y/N]
Proceed further, User has pressed ->y<--Key
0 голосов
/ 07 февраля 2019

Будет ли ввод оставаться неизменным каждый раз?Если это так, вы можете создать оболочку этого сценария, чтобы обеспечить необходимый ввод.

cat wrapper
./ScriptA.sh <<!
123
2
y
!
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...