Если скрипт, который вы хотите протестировать, читает стандартный ввод, а затем используйте его.
for input in 1 2 17 42 63 -1 0 1234568890; do
echo "$input" | ./otherscript
done
Или, если ваш otherscript
уже запускает цикл ввода (скажем, с пустым входом как условие выхода), кормить его здесь документ:
./otherscript <<HERE
1
2
17
42
63
-1
0
1234567890
HERE
Если вам нужно несколько значений входных для каждый прогон, вы можете объединить два;
while read age name color; do
(echo "$age"; echo "$name"; echo "$color") | ./otherscript
done <<HERE
1 Baby white
2 Sister yellow
17 Teen black
42 Dad mauve
63 Grandpa chartreuse
0 Piglet pink
-1 Prince purple
1234567890 Ghod rainbowey
HERE
Инструменты Unix регулярно предназначены для считывания параметров из командной строки. Это одна из многих причин, которые являются лучшим дизайном.
Вызов sh scipt в другом - это как вызов сценария из подсказки ... возможно, я что-то упустил или вам нужно улучшить свой вопрос/потребности ... – user2196728
вам нужно ожидать, он будет подпитываться вашему сценарию в зависимости от ввода от него. – michael501