Bash 如何使用平行卷曲?

Bash 如何使用平行卷曲?,bash,gnu-parallel,gnome-terminal,Bash,Gnu Parallel,Gnome Terminal,我如何使用gnu并行来加快这个过程 #!/bin/bash for (( c=1; c<=100; c++ )) do curl -sS 'https://example.com' \ --data 'value='$c'' /dev/null echo $c done #/bin/bash 对于((c=1;c),可以使用parallel或xargs seq 100 | parallel curl -sS 'https://example.com' -

我如何使用gnu并行来加快这个过程

#!/bin/bash
for (( c=1; c<=100; c++ ))
do  
    curl -sS 'https://example.com' \
        --data 'value='$c'' /dev/null
    echo $c
done
#/bin/bash

对于((c=1;c),可以使用parallel或xargs

seq 100 | parallel curl -sS 'https://example.com' --data value='{}' /dev/null
seq 100 | xargs -I{} curl -sS 'https://example.com' --data value='{}' /dev/null

作为脚本支架,输出将发送到STDUT。使用XARGS,这将导致不同调用的输出可能混合。如果需要,考虑重定向输出到文件以进行附加处理。 您可以根据需要添加最大并行(-Pn等)选项

我不确定为什么需要'/DEV/NULL '。考虑重新排序:

curl-sS--数据值=“{}”


您可以使用持久连接使请求更快。据我所知,可以将持久连接与curl(和wget)一起使用在GET调用上。不确定如何在POST时使用持久连接,其中每个调用需要不同的-data。您可以提供示例吗?是的,curl无法在不删除连接的情况下发送具有不同数据的POST请求,即使使用-K,它只会将所有
--data
相加,并将它们发送到所有
--url
。如果
值必须是唯一的,我们可以生成包含一批URL的多个配置文件,并与
xargs-P
并行运行,以最小化连接成本。