Имитация пользовательского ввода для вызова скрипта несколько раз с разными параметрами

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

Примером сценария может быть:

#!/bin/bash

echo "param one"
read one
doSomething

echo "param two"
read two
doSomething

echo "param three"
read three
doSomething

echo "param four"
read four
doSomething

echo "param five"
read five
doSomething

Я хотел бы иметь возможность вызывать этот скрипт и предоставлять параметризованный ввод, например:

./scriptNameWrapper.ksh 1 22 333 4444 55555

Я пробовал гуглить, и либо я не правильно задаю вопрос, либо, что более вероятно, я не вижу леса за деревьями.

Я пробовал это, что не работает:

#!/bin/bash

./scriptName.ksh
<<$1
<<$2
<<$3
<<$4
<<$5

Я явно не эксперт *nix, но я уверен, что видел это раньше, я просто не могу найти никаких примеров. Это начинает расстраивать, и любая помощь будет принята с благодарностью.


person Clarkey    schedule 09.07.2010    source источник


Ответы (3)



Вызовите свой скрипт следующим образом:

echo -e "Param1\nParam2\nParam3" | ./scriptName.ksh

Последовательность \n между каждым параметром эмулирует нажатие клавиши ввода.

person bdk    schedule 09.07.2010

Поместите свои параметры в файл по одному на строку, затем запустите

./scriptName.ksh <filename
person Steve Weet    schedule 09.07.2010