我想使用curl并行发出一堆http请求,以对服务器进行一些性能测试。
该请求需要一个MAC地址,我想通过以下方式递增计数。
00:00:00:00:AA:BB
^ ^
| \___ count from 00 to ff (hex)
\______ count from 00 to ff (hex)
BB大于0xFF时将溢出到AA
到目前为止,我得到的是增加BB并以并行方式发送请求。
printf "%02x\n" {0..255} | xargs -I{} -P4 -- \
curl -s \
http://nginx/api/onboard/01:02:03:04:00:{}
这很好,但是我需要请求超过256次。
xargs是BusyBox v1.31.1
我找到了解决方案。正如我首先想到的,它实际上与xargs不相关。
printf "%04x\n" {0..1000} | \
sed -r 's/([[:xdigit:]]{2})([[:xdigit:]]{2})/\1:\2/g' | \
xargs -I{} -P4 -- \
curl -k -s \
https://nginx/api/onboard/21:12:12:12:{}
我正在通过结合printf和sed创建MAC的所需部分。也许有更好的方法,但是它解决了我的问题。