Forループの問題が出力されています。

Forループの問題が出力されています。
for a in {P02183606,P02183608,sassa}
do
    for b in {PID,PID2,sas}
    do
        echo "http://indiafirstlife.com//onlineInsurance-rest/uploadDocument/uploadDocumentsOmniMannualPush?applicationRefNo=$a&applicationFormId=$b"
    done
done

期待される出力

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

ベストアンサー1

欲しいペア可能なすべての組み合わせに結合する代わりに、2つのリストがあります。

1つの方法は次のとおりです。

#!/bin/sh

set -- P02183606 P02183608 sassa

for formid in PID PID2 sas; do
    printf '...urlpath...?applicationRefNo=%s&applicationFormId=%s\n' "$1" "$formid"
    shift
done

これにより、位置パラメータが参照番号のリストに設定され、フォームIDが繰り返されます。各反復でURLが印刷され、これらのパラメータはを使用して挿入され、printf最初shiftの位置パラメータはループの末尾からリストから削除されます。

中かっこ拡張は単に単純なリストを表現するためのものではありません。

おすすめ記事