我想开始一些并行作业,我希望按顺序输出结果。在我的情况下,作业是与curl
一起发送的HTTP请求,我只对响应代码感兴趣。以下是我到目前为止的情况:
for i in {1..6}
do
curl -H "Content-Type: application/json" -X POST \
-d 'some data' \
-s -o /dev/null -w "%{http_code}\n" \
<url of service> &
done
wait
这将打印每个请求的结果代码,但输出顺序不正确。我能以任何方式纠正输出的顺序吗?
请求实际上必须并行发送。
答案 0 :(得分:0)
将结果存储到文件中,然后在所有内容完成后将其打印出来:
for i in {1..6}
do
curl -H "Content-Type: application/json" -X POST \
-d 'some data' \
-s -o /dev/null -w "%{http_code}\n" \
<url of service> > result_$i &
done
wait
for i in {1..6}
do
cat result_$i
rm result_$i
done