如何遍历所有版本 url



我有一个软件,它有几个版本,可以从版本1升级到版本5。要升级,我们需要检索版本 2、3、4 和最后的 5。如何循环所有版本?这是我的尝试:

#!/bin/bash
version=1
while [ wget --spider https://download.software/server/releases/latest-"$version".tar.bz2 2>/dev/null ]
do
   version=$((version+1))
   echo $i
done

你的问题是大括号[]. [本身就是一个命令。要检查循环中wget的退出状态,只需使用 while wget ...; do ...; done

但是,您根本不需要循环。 wget可以在一次调用中使用多个 URL,bash可以使用大括号扩展{1..5}生成 URL:

#! /bin/bash
wget https://download.software/server/releases/latest-{1..5}.tar.bz2
如果您想

一次下载一个,@Socowi的答案很好。如果您更喜欢并行下载:

parallel -j0 wget https://download.software/server/releases/latest-{}.tar.bz2 ::: {1..5}

最新更新