Довольно просто, мне нужно протестировать программу на C, введя в нее большое количество целых чисел. Для этого в этом случае мне нужно запустить программу, а затем, когда она ждет ввода пользователя (scanf («% d, integer)), мне нужно дать ему целое число из цикла, в котором я сейчас.Нужно сценарий оболочки для автоматического ввода 1-10000 в программу
прямо сейчас у меня есть
for i in {1..5};
do
(echo -n "$i" && ./a2 $i)
done
, но он все еще только ожидает ввода пользователя, то после ввода пользователь получает, печатает целое петли я на. Я попытался несколько примеров из аналогичные проблемы, которые я обнаружил при обмене стеками и в других местах, но до сих пор не повезло. Мне никогда не приходилось сталкиваться с сценариями оболочки раньше, так что, наверное, это что-то простое, я делаю backasswordsly, но никто раньше не делал ничего плохого.
Возможно: 'seq 1 10000 | ./a2' - это то, что вам нужно? Это запускает программу один раз и подает ей номера от 1 до 10000 на стандартном входе. Он получит EOF после того, как он прочитает 10000. Но, может быть, если вам просто нужны номера от 1 до 10000, у вас должен быть процесс обработки пары аргументов командной строки и генерация самих чисел? –
Существует разница между аргументами командной строки и стандартным вводом. – Biffen
Попробуйте '' 'вместо' && '. (Примечание: в сценариях оболочки '|' is * not * OR, но что-то совсем другое) – immibis