延边州住房和城乡建设局网站,wordpress主题猫,宝贝详情页设计,软件设计师培训机构本脚本用于安装python3.x, 需要指定python版本#xff0c;如12代表3.12 安装文件下载自 python-build-standalone 我下载的文件后缀是#xff1a;-x86_64-unknown-linux-gnu-pgo-full.tar.zst#xff0c;根据需要自行下载 注意#xff1a;install_only或tar.gz包的目录没有…本脚本用于安装python3.x, 需要指定python版本如12代表3.12 安装文件下载自 python-build-standalone 我下载的文件后缀是-x86_64-unknown-linux-gnu-pgo-full.tar.zst根据需要自行下载 注意install_only或tar.gz包的目录没有install这一层文件夹
#!/bin/bash# 参数处理# 第一个参数为python版本3.x的后一位必填
# 第二个参数为zip文件夹路径默认为~/Downloads# 使用示例
# ./install_python.sh -v 12 -d /home/gxc/Downloadsshow_help() {echo Usage: $0 [options]echo -h, --help 显示帮助信息echo -v, --version 指定python版本如12代表3.12echo -d, --dir 指定zip文件夹路径默认为~/Downloadsecho -p, --prefix 指定python安装目录默认为/usr/local/python3xecho -b, --bin 指定python软链接目录默认为/usr/bin/echo -n, --name 指定python安装目录名默认为python3x
}# 解析参数
while [ $# -gt 0 ]; docase $1 in-h|--help)show_helpexit 0;;-v|--version)v$2shift 2;;-d|--dir)zip_dir$2shift 2;;-p|--prefix)prefix$2shift 2;;-b|--bin)bin$2shift 2;;-n|--name)name$2shift 2;;*)echo Unknown option: $1show_helpexit 1;;esac
doneif [ -z $v ]; thenecho Error: No python3.x version specified, please specify the version, like 12exit 1
fipython_version3.$v
echo version: $python_versionzip_dir${zip_dir:-~/Downloads}
echo zip dir: $zip_dirprefix${prefix:-/usr/local/python3$v}
bin${bin:-/usr/bin/}
name${name:-python3$v}py_bin$prefix/install/bin/python$python_version
py_bin_link$bin$name
echo link: $py_bin - $py_bin_link# 进入zip_dir
echo enter $zip_dir
pushd $zip_dir /dev/null 21# 使用find命令搜索最新的.zst文件
fp$(find . -type f -name cpython-$python_version*.zst -printf %T %p\n | sort | tail -n 1 | cut -d -f2-)# 检查是否找到了文件
if [ -z $fp ]; thenecho Error: No .zst file found in the directory: $zip_direxit 1
elseecho The found .zst file is: $fpread -p Do you want to continue? (y/n): answercase $answer in[Yy]* )echo Continuing...# 在这里添加你想继续执行的命令;;[Nn]* )echo Exiting...exit 0;;* )echo Invalid input. Exiting...exit 1;;esac
fiecho file: $fp# 删除旧的python解压目录
if [ -a python ]
thenecho dir python exists, remove itrm -rf python
fi# 解压
echo unzip $fp
tar xf $fp# 检查解压后的文件
echo check unzip file
if [ ! -d python ]
thenecho Error: No python directory found in the zip file: $fpexit 1
fi
if [ ! -x ./python/install/bin/python$python_version ]
thenecho Error: No ./python/install/bin/python$python_version found in the zip file: $fpexit 1
fi# 删除旧的python安装目录
if [ -a $prefix ]
thenecho remove old pythonsudo rm -rf $prefix
fi# 移动解压的python到指定目录
echo move python to $prefix
sudo mv ./python $prefix# 创建软链接
echo link $py_bin - $py_bin_link
sudo ln -sf $py_bin $py_bin_link# 回到原目录
popd /dev/null 21echo finish install python$python_version