linux 脚本 写更新,用Shell写的游戏客户端更新脚本
#!/bin/sh
##########################################
# 客户端版本更新系统
##########################################
# CLIENT_INIT_VERSION 客户端新版本,默认是0
# CLIENT_OLD_VERSION 客户端旧版本(存放在VERSION_FILE指定的文件中),当没有时取CLIENT_INIT_VERSION
# CLIENT_NEW_VERSION 客户端新版本,www.linuxidc.com默认是CLIENT_OLD_VERSION+1
# VERSION_FILE 存放上次版本的文件
CLIENT_INIT_VERSION='0'
CLIENT_OLD_VERSION='0'
CLIENT_NEW_VERSION=''
VERSION_FILE='client_version.txt'
# CLIENT_BASE_PATH 放置前端的目录
# VERSION_CONFIG_FILE 服务器前端版本配置文件
# SVN_PATH 前端SVN地址
CLIENT_BASE_PATH='/data/ylzj_test/img/'
VERSION_CONFIG_FILE='/data/ylzj_test/sljweb/version.jsp'
SVN_PATH='http://192.168.14.138:8080/svn/slj_release/ylzj'
CLIENT_NEW_PATH=''
CLIENT_OLD_PATH=''
#更新是否成功
IF_SUCC=''
initVersionFileIfNoExist(){
if [ -f $VERSION_FILE ];then
echo '[INFO] Welcome to use Client Update System.'
else
echo '[INFO] Welcome to use Client Update System.'
echo $CLIENT_INIT_VERSION > $VERSION_FILE
if [ -f $VERSION_FILE ];then
echo '[SUCC] CREATE VERSION FILE '$VERSION_FILE
else
echo '[FAIL] CREATE VERSION FILE '$VERSION_FILE
fi
fi
}
initClientNewVersion(){
CLIENT_OLD_VERSION=$(cat $VERSION_FILE)
echo "[INFO] The old client version is : "$CLIENT_OLD_VERSION
CLIENT_NEW_VERSION=$(expr $(cat $VERSION_FILE) + 1)
echo '[INFO] The new client version is : '$CLIENT_NEW_VERSION
CLIENT_NEW_PATH=$CLIENT_BASE_PATH$CLIENT_NEW_VERSION
CLIENT_OLD_PATH=$CLIENT_BASE_PATH$CLIENT_OLD_VERSION
}
checkIfFileExistAndDoSomething(){
tmpvar=$1
subpath=${tmpvar%/*}
existFile=${tmpvar##*/}
TMP_BACKUP_FLASH_TAR=''
if [ -f $1 -o -d $1 ];then
echo '[WARN] Flash dir '$1' has exists, it will be tar and backup.'
TMP_BACKUP_FLASH_TAR=$existFile'.tar'
cd $subpath
echo '[INFO] Archieving '$existFile' to '$TMP_BACKUP_FLASH_TAR
tar -zcvf $TMP_BACKUP_FLASH_TAR $existFile
echo '[INFO] Removing dir '$existFile
rm -rf $existFile
cd -
fi
unset tmpvar
unset subpath
unset existFile
unset TMP_BACKUP_FLASH_TAR
}
prepareClientDir(){
checkIfFileExistAndDoSomething $CLIENT_NEW_PATH
if [ $CLIENT_INIT_VERSION -eq $CLIENT_OLD_VERSION ];then
#第一次使用
#创建目录
echo '[INFO] First create the flash dir '$CLIENT_NEW_PATH
mkdir -p $CLIENT_NEW_PATH
else
#非第一次使用,修改flash名字
echo '[INFO] Copying '$CLIENT_OLD_PATH' to '$CLIENT_NEW_PATH
mv $CLIENT_OLD_PATH $CLIENT_NEW_PATH
fi
if [ -d $CLIENT_NEW_PATH ];then
IF_SUCC='TRUE'
fi
}
storeThisVersionIfSucc(){
if [ -n $IF_SUCC ]; then
echo $CLIENT_NEW_VERSION > $VERSION_FILE
echo "" > $VERSION_CONFIG_FILE
fi
}
createClient(){
echo '[INFO] Checking out flash version...'
svn co $SVN_PATH $CLIENT_NEW_PATH --username=bqli --password=123456
echo '[INFO] Checking out has finished.'
}
updateClient(){
echo '[INFO] Updating flash version...'
svn update $CLIENT_NEW_PATH
echo '[INFO] Updating has finished.'
}
createOrUpdateClient(){
if [ $CLIENT_INIT_VERSION -eq $CLIENT_OLD_VERSION ];then
createClient
else
updateClient
fi
}
echoStartInfo(){
echo '#################################################'
echo '# 欢迎使用客户端版本更新系统V1.0'
echo '#################################################'
}
echoEndInfo(){
echo '[SUCC] Finished.'
}
clear
echoStartInfo
initVersionFileIfNoExist
initClientNewVersion
prepareClientDir
createOrUpdateClient
storeThisVersionIfSucc
echoEndInfo
linux 脚本 写更新,用Shell写的游戏客户端更新脚本相关推荐
- linux脚本计算器加减乘除,用shell写一个简易计算器,可以实现加、减、乘、除运算,假如脚本名字为1.sh,执行示例:./1....
用shell写一个简易计算器,可以实现加.减.乘.除运算,假如脚本名字为1.sh,执行示例:./1.sh 1 + 2#!/bin/bash if [ $# -ne 3 ] then echo &quo ...
- 更新失败无法连接更新服务器未响应,逆水寒客户端更新失败_长时间停滞未响应相关问题解答[图]...
逆水寒每周四就会进行例行维护,很多小伙伴的电脑在每次更新中都会出现各种各样的相关问题,像一些基本的逆水寒客户端更新失败,长时间停滞未响应相关问题,我们一起来看看官方是如何解答的吧! 一.逆水寒客户端更 ...
- 用Shell写的游戏客户端更新脚本
之前我们更新客户端的方法是,一个脚本,把svn的客户端版本检出来.但是每次都重复检出. 由于现在客户端已经有800+M,每次检出基本都需要等待5分钟左右.因此应测试要求,写了个脚本, 每次只检出更新部 ...
- 如何快速制作脚本?间隔时间自动使用按键精灵游戏技能辅助脚本
来源:按键学院 [按键精灵] 脚本使用说明: 1. 此脚本可应用于各种网络游戏,用于自动间隔时间使用辅助技能,可自定义三个技能和间隔时间. 2. 脚本开始运行前请先在按键精灵主界面上设置自定义参数 ...
- 7月30号csonline 服务器维护,DOTA2 7月30日更新日志:7.19游戏性更新
综合: - 每日奖励英雄从2个魔法芒果改为1个 - 夜魇主野区圣坛下方悬崖附近增加2棵树 英雄: 亚巴顿 - 迷雾缠绕的魔法消耗从50/60/70/80点降低至50点 远古冰魄 - 冰霜漩涡的魔法消耗 ...
- 游戏热更新(XLua)专题一(知识点)
课程学习笔记:https://ke.qq.com/course/337826 ps:建议搭配课程学习,吃透知识点,解决疑惑:什么是xlua,热更新和xlua什么关系,xlua和lua又是什么关系?等等 ...
- 定时启动软件的脚本。同时也适用于定时打开游戏。
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一.脚本简介 二.脚本内容 三.脚本自启动 总结 一.脚本简介 每天上班族上班第一件事就是登录各种办公软件,今天給大家带来了 ...
- Python做手游自动刷图脚本,问道手游目前很火,此脚本应用泛滥!
效果: 叙述: 所有玩刷副本类游戏的朋友都会觉得很枯燥,一次又一次的重复性工作甚至让许多朋友放弃了那款游戏.最近问道手游很火,网络上出现了许多自动刷道的脚本,但是这款例外,因为它是由脚本之王Pytho ...
- shell写的检测linux系统硬件信息的脚本
前面用python写了一个检测windonws硬件信息的脚本,这里是很久之前用shell写的一个linux系统硬件信息检测脚本,可以对照看一下.检测内容基本一样:操作系统信息.内存.CPU.硬盘分区及 ...
最新文章
- MongoDB简单操作
- 用linux下常用命令wget进行整站下载(递归下载至本地)
- 2022QS世界大学排名:清北跻身世界前20
- 网络技术等级考试知识点
- innerHTML的用法
- linux 共享移动硬盘,随时登陆上QQ 自带Linux移动硬盘实战
- SQL条件语句(IF, CASE WHEN, IF NULL)
- JEECG第17期架构培训班15号开班啦!每期十个名额,想报名的抓紧时间啦!
- 移动端页面(响应式)
- Oracle 多表查询
- python length从哪个包引入_python collections包
- Swf Decrypt详解
- VMware Vsphere 虚拟化
- 电脑内录录音软件,可选择录音来源
- java实现简单的文字pk的小游戏
- 用canvas画圆饼图
- stm32f107rc使用系统时钟延时不准
- jsp中点击验证码刷新验证码
- 代理模式(自己实现源码)
- AI编程 亚马逊 CodeWhisperer VS GitHub Copilot