背景
新入职的公司是个电商公司,每天要更新跟多产品信息,所以文件的更新速度非常快,但是入职后发现原有的发布脚本很难使用,经常因为输入错误,导致发布失败,很影响工作效率。
思路
1,QA 会把新文件上传到本地src服务器,项目的存储位置完全和线上一样,所以要保证,每次QA上传之前,项目文件夹为空,只保留目录树
2,由于项目众多选用for 循环嵌套case 语句,来做主程序,这样不管 ,当天要更新什么项目,都不需要判断,直接输入所需要的更新的项目号,就可以update
3,每次推送结束后,清空文件夹,并显示 更新的文件,和文件数方便与QA对照文件是否相同
代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
#!/bin/bash
echo
-n -e
"1.project1 2.project2 3.project3\n"
project=
"Please enter the project number:"
read
-p
"$project"
a b c
for
what
in
$a $b $c
do
case
$what
in
1)
echo
“you
select
number1”
rsync
;;
2)
echo
"you select number2"
rsync
;;
3)
echo
"you select number3"
rsync
;;
*)
echo
"you do not select a number"
;;
esac
done
find
/path/to/forder/
-
type
f |
wc
-l
find
/path/to/forder/
-
type
f -
exec
rm
{} \;
|
这只是个方法,代码写的很粗糙,但是比起之前全部用if 语句写的发布脚本,要好很多,不需要人来做判断,仅仅输入所要更新的项目号 就可以了
本文转自wks9751CTO博客,原文链接:http://blog.51cto.com/wks97/1609067 ,如需转载请自行联系原作者