シェルスクリプトを使用してループを介してカリングするようにJsonボディを公開する

シェルスクリプトを使用してループを介してカリングするようにJsonボディを公開する

カールに公開する必要があるJsonファイルがたくさんあります。それでは、同じループを書く方法は何ですか?このように努力しています。

for FILES in $~/network_map_ingestion/networkmap/data/consolidation
ls NetworkMap-*.json;
do
echo $file
#curl -X POST --data @$file -H "Content-Type:application/json" http://10.00.00.0000000/ingestion/entities/wsr/scp/ekl

答え1

すべてのファイルを繰り返す必要があります。必要はなく、lsシェルグローブを使用するだけです。

for file in ~/network_map_ingestion/networkmap/data/consolidation/NetworkMap-*.json
do
    printf 'Processing "%s"\n' "$file"
    curl -X POST --data @"$file" -H 'Content-Type: application/json' \
        'http://10.00.00.0000000/ingestion/entities/wsr/scp/ekl'
done

最新バージョンでは、curl次のように短縮できます。

for file in ~/network_map_ingestion/networkmap/data/consolidation/NetworkMap-*.json
do
    printf 'Processing "%s"\n' "$file"
    curl --json @"$file" 'http://10.00.00.0000000/ingestion/entities/wsr/scp/ekl'
done

関連情報