У меня есть файл семени с содержимым ниже.Как запустить несколько циклов для цикла с несколькими вводами cat
$cat seed.txt
macmachine,192.168.2.4,29772
windowsmachine,192.168.2.5,29772
$
Когда я бег цикла первой $x
будет кошкой первого поля первой линии, macmachine
из файла семян и «делать» запустить второй цикл, и это будет кот второго поля первой строки и так далее ...
Вот мой цикл
for x in `cat seed.txt |cut -d ',' -f1`; do
for y in `cat seed.txt |cut -d ',' -f2`; do
curl -v -H -X GET -H "X-TEST-Request-Id: Domain-$x" http://$y:8080/static/test/$y.jsp;
done;
done
проблема заключается в том, что работает в 8 раз. Если я удалю первую строку из файла семени, она будет запускаться только один раз.
Я уверен, что с петлей что-то не так, но я не могу это проследить. Пожалуйста, предложите, как исправить это.
8 = 2 x 2 x 2; вы уверены, что у вас нет 'for z in' cat seed.txt | cut -d ',' -f3'; do' –
Вы не должны использовать 'cat' (UUoC - бесполезное использование' cat'; ищите его); 'cut' вполне способен читать файлы. –
С двумя строками данных вы должны получить 'curl', исполненный 4 раза. Внешний цикл имеет 'x' установлен в' macmachine', затем 'windowsmachine'; внутренний цикл имеет 'y' установлен в' 192.168.2.4', а затем '192.168.2.5'. Вы пропустили цикл на 'z', взяв последний столбец? Это даст вам 8 циклов, но код этого не показывает. –