背景
新入职的公司是个电商公司,每天要更新跟多产品信息,所以文件的更新速度非常快,但是入职后发现原有的发布脚本很难使用,经常因为输入错误,导致发布失败,很影响工作效率。
思路
1,QA 会把新文件上传到本地src服务器,项目的存储位置完全和线上一样,所以要保证,每次QA上传之前,项目文件夹为空,只保留目录树
2,由于项目众多选用for 循环嵌套case 语句,来做主程序,这样不管 ,当天要更新什么项目,都不需要判断,直接输入所需要的更新的项目号,就可以update
3,每次推送结束后,清空文件夹,并显示 更新的文件,和文件数方便与QA对照文件是否相同
代码
#!/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 语句写的发布脚本,要好很多,不需要人来做判断,仅仅输入所要更新的项目号 就可以了
原文地址:http://wks97.blog.51cto.com/2139464/1609067