我有一个 bash 函数,主要curl
是一组链接的端点,并再次递归地卷曲每个链接(对于另一组链接)。
task() {
link="$1"
response=$(curl "$link")
# save response data to file...
# process response to find another set of links and save to variable x...
if condition
echo "$x" | while read -r link
task "$link"
}
上面的代码产生大约 100 个curl 操作,这需要很长时间。主要是端点的响应时间(而不是处理时间)是瓶颈。
状况
- 我们有 0 个关于有多少链接的信息。如果不
curl
首先使用父链接,我们就无法拥有子链接。 - 每个响应
curl link
都应自动保存到文件中
甚至可以并行化这个过程吗?如果解决方案需要(或者更优雅)GNU parallel
或其他外部工具,我没问题。