大家好,今天是圣诞节,在此分享一下开发经验!
作为软件开发,为自己量身定做一系列的工具是非常必要的,最近在学习时间管理,书上说,要时间用在能产生生产力的地方,那么怎样提高效率、减少误操作就摆在开发路上的两大问题,”机器能做的,绝对不要让人来做”,这句话应该是每个开发人员的座右铭。脚本省去了人力,减少了操作,解放了双手,避免了重复操作和误操作,何乐而不为呢!
下面分享一段shell脚本,脚本作用,双击更新资源!
<span style="font-size:14px;"><pre name="code" class="plain">#!/usr/bin/env bash
# 关键词一 DIR获得用户目录
DIR="$(pwd)"
# 关键词二 ZOOBIN 获得脚本目录的上级目录
ZOOBIN="${BASH_SOURCE-$0}"
ZOOBIN=`dirname ${ZOOBIN}`
#trunck 目录
ROOT_DIR=`cd ${ZOOBIN}/..; pwd`
# 目标目录
SOURSE_DIR="${ROOT_DIR}/starwars/cached_res/image"
# 要获得当前目录的上级目录 用/..来获取,格式如下
DESIGN_DIR=`cd ${ROOT_DIR}/../../shared/trunk/UI/starwars; pwd`
TRUNK_DIR=`cd ${ROOT_DIR}/../../shared/trunk/策划文档_国内版; pwd`
level=1
# 更新程序资源目录
echo $DIR
exit
# svn cleanup $SOURSE_DIR
svn update $SOURSE_DIR
#更新策划资源目录
# svn cleanup $DESIGN_DIR
svn update $DESIGN_DIR
#保证策划的cocosudio资源发布然后继续
#打开一个可执行程序执行open 命令 python里要打开可执行文件,用open是不行的open
open "$DESIGN_DIR/starwars.ccs"
echo " "
echo " "
echo " "
echo "++++++++++++++++++++++++++++++++++++++++++++"
echo "+ No1. level1 copy.... +"
echo "+ No2. level2 copy.... +"
echo "+ No3. level3 copy.... +"
echo "+ No4. end the shell ! +"
echo "++++++++++++++++++++++++++++++++++++++++++++"
echo " "
echo " "
read -p "Please choose your operate: " i
case "$i" in
1)
echo "please enter any key to contiun......!"
level=1
read -n1
;;
2)
echo "please enter any key to contiun......!"
level=2
read -n1
;;
3)
echo "please enter any key to contiun......!"
level=3
read -n1
;;
4)
echo "goodbay!"
# ls -l && exit
# kill -1 `ps -o ppid -p $$ | tail -1`
exit
;;
*)
echo "Please choose a right item."
esac
#清理文件
echo "清理目录 = $SOURSE_DIR"
# rm -rf $SOURSE_DIR/*
echo "清理完毕!"
# 因为有些资源更新比较费时,我给跟新的内容设置了等级,等级一全部更新,等级二只更新部分,等级三是更简单的更新
if [ "$level" -le 2 ];then
# 更新资源文件
for i in $DESIGN_DIR/cocosstudio/image/*
do
# 下面判断的内容意思是 检测i这个变量是否为一个路径
if [ -d "$i" ]; then
spriteSheetName=`basename $i`
#删除命令
rm -rf $SOURSE_DIR/${spriteSheetName}</span>
#拷贝命令
cp -rp $DESIGN_DIR/cocosstudio/image/${spriteSheetName} $SOURSE_DIR
echo "拷贝目录 = $spriteSheetName"
fi
done
#更新声音文件
if [ -d "${SOURSE_DIR}/Music" ]; then
#判断一个路径文件是否存在,不存在就创建一个
if [ ! -d "${SOURSE_DIR}/audio" ]; then
mkdir "${SOURSE_DIR}/audio"
fi
rm -rf $SOURSE_DIR/audio/*
cp -rp $SOURSE_DIR/Music/* $SOURSE_DIR/audio
rm -rf $SOURSE_DIR/Music
fi
echo "美术资源拷贝完毕!"
fi
if [ "$level" -le 3 ];then
#更新csb资源文件
for i in $DESIGN_DIR/res/*
do
if [ -f "$i" ]; then
spriteSheetName=`basename $i`
# 下面的判断是对变量进行截取 作为判断文件类型的一种手段,用的到的同学可以搜 ${}特异功能
if ["${spriteSheetName##*.csb}" = ""] ;then
rm -rf $SOURSE_DIR/${spriteSheetName}
cp -rp $DESIGN_DIR/res/${spriteSheetName} $SOURSE_DIR
fi
echo "拷贝目录 = $spriteSheetName"
fi
done
fi</span>
好了,大部分代码已经贴上去了,即使是新手也能够非常轻松的写出自己的第一个拷贝复制脚本了,程序猿们,来试试吧