背景
新入職的公司是個電商公司,每天要更新跟多産品資訊,是以檔案的更新速度非常快,但是入職後發現原有的釋出腳本很難使用,經常因為輸入錯誤,導緻釋出失敗,很影響工作效率。
思路
1,QA 會把新檔案上傳到本地src伺服器,項目的存儲位置完全和線上一樣,是以要保證,每次QA上傳之前,項目檔案夾為空,隻保留目錄樹
2,由于項目衆多選用for 循環嵌套case 語句,來做主程式,這樣不管 ,當天要更新什麼項目,都不需要判斷,直接輸入所需要的更新的項目号,就可以update
3,每次推送結束後,清空檔案夾,并顯示 更新的檔案,和檔案數友善與QA對照檔案是否相同
代碼
<code>#!/bin/bash</code>
<code>echo</code> <code>-n -e </code><code>"1.project1 2.project2 3.project3\n"</code>
<code>project=</code><code>"Please enter the project number:"</code>
<code>read</code> <code>-p </code><code>"$project"</code> <code>a b c </code>
<code>for</code> <code>what </code><code>in</code> <code>$a $b $c </code>
<code>do</code>
<code>case</code> <code>$what </code><code>in</code>
<code> </code><code>1)</code><code>echo</code> <code>“you </code><code>select</code> <code>number1”</code>
<code> </code><code>rsync</code>
<code> </code><code>;;</code>
<code> </code><code>2) </code><code>echo</code> <code>"you select number2"</code>
<code> </code><code>3) </code><code>echo</code> <code>"you select number3"</code>
<code> </code><code>*) </code><code>echo</code> <code>"you do not select a number"</code>
<code>esac</code>
<code>done</code>
<code>find</code> <code>/path/to/forder/</code> <code>-</code><code>type</code> <code>f | </code><code>wc</code> <code>-l</code>
<code>find</code> <code>/path/to/forder/</code> <code>-</code><code>type</code> <code>f -</code><code>exec</code> <code>rm</code> <code>{} \;</code>
這隻是個方法,代碼寫的很粗糙,但是比起之前全部用if 語句寫的釋出腳本,要好很多,不需要人來做判斷,僅僅輸入所要更新的項目号 就可以了
本文轉自wks9751CTO部落格,原文連結:http://blog.51cto.com/wks97/1609067 ,如需轉載請自行聯系原作者