#!/bin/bash # 运行方式:bash <(curl -s https://static.imily.net/sh/kylin/x86.sh) "$(pwd)" # 关闭防火墙:setstatus disable if [ -n "$1" ]; then cd $1 else cd $(dirname $0) fi # 判断是否联网 ping -c 1 wsziran.cn > /dev/null if [ $? -ne 0 ]; then echo "请检查网络连接" exit 1 else echo "请输入账户和密码,中间用:分隔:" read authpw # 用curl获取token, json结构是{token:'xxx'}, 并提取token json=$(curl -s -X GET "https://wsziran.cn:9009/api/v2/user/token" -H "Content-Type: application/json" -u $authpw) token=$(echo $json | awk -F'"' '{print $4}') if [ -z "$token" ]; then echo "获取token失败" exit 1 fi fi # 定义一个下载函数,接受一个文件路径参数 function download() { # 如果当前文件夹存在同名文件,则跳过 if [ -f $2 ]; then echo "文件 $2 已存在,跳过下载" return fi echo "下载文件:$1" curl -G --data-urlencode "path=$1" "https://wsziran.cn:9009/api/v2/user/files" -H 'accept: */*' -H "Authorization: Bearer $token" -o $2 --progress-bar if [ $? -ne 0 ]; then echo "下载文件 $1 失败" exit 1 fi } download "/一体化平台/v2.1/kylin_x86/nginx.zip" nginx.zip download "/一体化平台/v2.1/kylin_x86/redis.zip" redis.zip download "/一体化平台/v2.1/kylin_x86/java.zip" java.zip download "/一体化平台/v2.1/kylin_x86/aptitude.zip" aptitude.zip download "/一体化平台/v2.1/kylin_x86/mysql.zip" mysql.zip # 下载安装脚本 curl -o install.sh -s https://static.imily.net/sh/kylin/install.sh chmod +x install.sh # 判断第二个参数如果等于download,则只下载文件 if [ "$2" == "download" ]; then echo "下载完成" exit 0 fi # 执行 ./install.sh aptitude.zip aptitude ./install.sh mysql.zip mysql ./install.sh nginx.zip nginx ./install.sh redis.zip redis ./install.sh java.zip java