Лок для выпуска l oop - PullRequest
0 голосов
/ 04 мая 2020
for a in {P02183606,P02183608}
do
for b in {PID,PID2}
do
curl -i -H "Authorization:Token sample" "Content-type: application/json" -X GET "http://mastindia//project/push?applicationRefNo=$a&applicationFormId=$b"
done;
done;

Ожидаемый выходной сервис должен вызывать 2 раза, а не 4 раза (проблема только в $ a, а значения $ b должны быть ниже)

http://applicationRefNo=P02183606&applicationFormId=PID
http://applicationRefNo=P02183608&applicationFormId=PID2

1 Ответ

1 голос
/ 04 мая 2020

Вложенный для l oop всегда будет выполняться n * n2 раз.

В вашем случае нет необходимости вкладывать l oop, вы можете просто сделать это так:

#bin/bash
whatever=("P02183606" "PID" "P02183608" "PID2");
for((i = 0; i<${#whatever[@]}; i=i+2));
do
curl -i -H "Authorization:Token dont share it ffs" "Content-type: application/json" -X GET "http://indiafirstlife.com//onlineInsurance-rest/uploadDocument/uploadDocumentsOmniMannualPush?applicationRefNo=${whatever[i]}&applicationFormId=${whatever[i+1]}"
echo "Accessing: http://indiafirstlife.com/onlineInsurance-rest/uploadDocument/uploadDocumentsOmniMannualPush?applicationRefNo=${whatever[i]}&applicationFormId=${whatever[i+1]}"
done

Вывод:

Accessing: http://indiafirstlife.com/onlineInsurance-rest/uploadDocument/uploadDocumentsOmniMannualPush?applicationRefNo=P02183606&applicationFormId=PID
Accessing: http://indiafirstlife.com/onlineInsurance-rest/uploadDocument/uploadDocumentsOmniMannualPush?applicationRefNo=P02183608&applicationFormId=PID2
...