#!/usr/bin/zsh ##################################### # 用于快速配置旧世界的开发环境 # # 支持的语言: # # [ ] go # # [ ] rust # # [ ] java # # [ ] nodejs # ##################################### # 不使用包管理器, 直接用官网的二进制包 # 龙芯旧世界更新频率低, 且迟早被弃用, 旧世界仅做有限支持 ############################################################################# # 变量 # ############################################################################# local 旧世界一下载地址="http://ftp.loongnix.cn" typeset -A 语言一GO=( ['组件']=('go' 'gofmt') ['下载地址']="https://golang.google.cn/dl/" ['版本正则']="go1.*linux-架构\.tar\.gz" ['旧世界版本']="go1.22.0" ) ############################################################################# # 函数(func) # ############################################################################# # latest_version=$(curl -s https://golang.google.cn/dl/ | grep -o 'go1.*linux-.*\.tar\.gz' | head -n 1) 开发环境一检测一GO(){ 输出 0 "2: ${言灵一函数}" # 检测安装情况 unset 下载地址 版本一在线=$(curl -s ${语言一GO[下载地址]} | grep -o $(echo "${语言一GO[版本正则]}" | sed "s/架构/${言灵一系统架构}/g") | head -n 1) if [[ ${系统一世界类型} == "旧世界" ]]; then echo "旧世界?" 版本一在线=${语言一GO[旧世界版本]} 下载地址="${旧世界一下载地址}/toolchain/golang/${版本一在线%.*}/abi1.0/${版本一在线}.linux-loong64.tar.gz" fi 输出 0 "版本: ${版本一在线}" if 版本对比 ${版本一主机} ${版本一在线}; then 版本一主机=$(go version) | awk '{print $3}' fi } # 用于检测当前版本是否最新 # *-* -> 位置参数1 <- 需要检测的编程语言 # -*- -> 返回值 <- 如果 本地版本 >= 在线版本 返会 空, 反之这会返回最新的在线版本下载地址 开发环境一检测(){ } # 加载主机信息 开发环境一初始化(){ if [[ ${言灵一系统一主机架构} == "龙" ]]; then if [[ ${言灵一系统一世界类型} == "新世界" ]]; then 系统一主机架构="loong64" fi fi 系统一主机架构=${言灵一系统一主机架构} } 开发环境一安装一go(){ # 换源 go env -w GOPROXY=https://goproxy.cn } 开发环境一安装(){ } ############################################################################### # 主函数(main) # ############################################################################### source $HOME/.config/xunmi/信息 source ${言灵一路径}/x/公共/函数.zsh 开发环境一初始化 开发环境一检测一GO