Вставьте ввод в программу exe с помощью скрипта linux - PullRequest
0 голосов
/ 29 марта 2020

Я получил скрипт, который 1000 раз запрашивает ввод 1-5, он выглядит следующим образом:

insert1:

insert2:

insert3:

insert4:

insert5: // и снова 1-5

insert 1: ... всего получится 1000 входов

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

#!/bin/bash
./my_script.exe  -l | for i in {1..200}; do for j in {1..5}; do j; done; done

1 Ответ

1 голос
/ 29 марта 2020

Вы почти на месте, но сделайте это наоборот:

for ((i=1;i<=200:i++)) ; do
    for ((j=1;j<=5;j++)) ; do
        echo $j
    done
done | ./myscript.exe -l

Вы можете поставить # перед |, чтобы закомментировать его и посмотреть, что скрипт отправляет в вашу программу .


Необходимо различать параметры, которые указаны после имени программы, например:

program param1 param2 param3

, и входные данные, которые программа получает, читая ее stdin и поставляется следующим образом:

printf "input1\ninput2\ninput3\n" | program

Альтернативная версия второй команды:

{ echo input1; echo input2; echo input3; } | program
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...