从 bashrc 自动查找最新版本的 anaconda
Finding latest version of anaconda automatically from bashrc
我正在尝试创建一个代码来获取最新版本的 anaconda 并进行安装。
目前我们可以这样做来安装最新版本:
mkdir tmp
cd tmp
wget https://repo.anaconda.com/archive/Anaconda3-2020.11-Linux-x86_64.sh
bash Anaconda3-2020.11-Linux-x86_64.sh
我希望脚本更通用,这样代码会自动找到最新版本的 anaconda,下载 shell 脚本文件并安装它。
您可以使用它来获取最新版本:
wget https://repo.anaconda.com/archive/ -q -O- |\
grep 'Anaconda3'| \
sed -n 's|.*>Anaconda3-\([0-9]\{4\}\.[0-9]\{2\}\)-.*||p'
uniq |\
sort -r |\
head -1
此解决方案仅适用于那些使用年份格式(例如 2020-07)的版本,但由于最新版本可能是该格式,所以应该没问题。
一些解释:
wget
获取存档页面的内容,这为我们提供了包含所有下载 URL 的 HTML 内容。 -q
使输出安静,-O-
打印到标准输出。或者,您可以使用 curl -s
来达到相同的效果。
grep 'Anaconda3'
给我们包含 Anaconda 的行,其中包含下载链接。
- 使用
sed
到 select 来自下载链接的版本字符串,例如2020-11
。这为您提供了所有版本的列表(格式为 YYYY-MM)。
- 排序并列出 select 第一个条目,即最新版本。
在脚本的其余部分使用该版本即可完成。一个完整的解决方案是:
version=$(wget https://repo.anaconda.com/archive/ -q -O- |\
grep 'Anaconda3'|\
sed -n 's|.*>Anaconda3-\([0-9]\{4\}\.[0-9]\{2\}\)-.*||p' |\
uniq |\
sort -r |\
head -1)
wget "https://repo.anaconda.com/archive/Anaconda3-$version-Linux-x86_64.sh"
我确信获取最新版本可以更高效,但这对于您的用例应该足够了。
我正在尝试创建一个代码来获取最新版本的 anaconda 并进行安装。 目前我们可以这样做来安装最新版本:
mkdir tmp
cd tmp
wget https://repo.anaconda.com/archive/Anaconda3-2020.11-Linux-x86_64.sh
bash Anaconda3-2020.11-Linux-x86_64.sh
我希望脚本更通用,这样代码会自动找到最新版本的 anaconda,下载 shell 脚本文件并安装它。
您可以使用它来获取最新版本:
wget https://repo.anaconda.com/archive/ -q -O- |\
grep 'Anaconda3'| \
sed -n 's|.*>Anaconda3-\([0-9]\{4\}\.[0-9]\{2\}\)-.*||p'
uniq |\
sort -r |\
head -1
此解决方案仅适用于那些使用年份格式(例如 2020-07)的版本,但由于最新版本可能是该格式,所以应该没问题。
一些解释:
wget
获取存档页面的内容,这为我们提供了包含所有下载 URL 的 HTML 内容。-q
使输出安静,-O-
打印到标准输出。或者,您可以使用curl -s
来达到相同的效果。grep 'Anaconda3'
给我们包含 Anaconda 的行,其中包含下载链接。- 使用
sed
到 select 来自下载链接的版本字符串,例如2020-11
。这为您提供了所有版本的列表(格式为 YYYY-MM)。 - 排序并列出 select 第一个条目,即最新版本。
在脚本的其余部分使用该版本即可完成。一个完整的解决方案是:
version=$(wget https://repo.anaconda.com/archive/ -q -O- |\
grep 'Anaconda3'|\
sed -n 's|.*>Anaconda3-\([0-9]\{4\}\.[0-9]\{2\}\)-.*||p' |\
uniq |\
sort -r |\
head -1)
wget "https://repo.anaconda.com/archive/Anaconda3-$version-Linux-x86_64.sh"
我确信获取最新版本可以更高效,但这对于您的用例应该足够了。