欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

shell的參數(shù)和腳本流程改進

今天痛下決心,把事務的工作一定要使用平臺來做,時間短,任務緊,之前的運維開發(fā)是鋪了一個面,每個面都做一些相關(guān)的事情,所以工作整體看都有進展,但是最后沒有一個專注的功能。

專注于為中小企業(yè)提供成都網(wǎng)站設(shè)計、網(wǎng)站制作服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)秭歸免費做網(wǎng)站提供優(yōu)質(zhì)的服務。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。

所以我就在想到底是怎么回事,我能不能專注一些,哪怕就實現(xiàn)一個簡單的功能,把它做好做透,其他的功能是不是能夠同樣復制很多的思想。于是乎,上班后我開始整理自己的思路,一邊問自己,一邊回答,每個回答都對應兩列,一個是需要做的改進(action),還有一個是這個action的預估時間。結(jié)果幾分鐘下來,我發(fā)現(xiàn)如果理想的情況下,我只需要2個小時就能搞定,這么一想,還是能接受的,于是對需要做的事情排了一個順序,立馬開干。

shell的參數(shù)和腳本流程改進

我的設(shè)計是使用運維平臺連接中控服務器來級聯(lián)觸發(fā)遠程操作,這樣運維平臺對所有環(huán)境的耦合性是最低的。

哪怕是最簡陋的操作,也要咬著牙完成,于是大體是這樣的流程,上午的時候有兩個部署需求,下午有兩個,第一個是在半調(diào)試狀態(tài)下完成的,第二個開始做腳本的模塊化整理,是一個半自動的過程,然后發(fā)現(xiàn)了一些問題,非常糾結(jié)的去修復歷史部署問題,等到第三個需求的時候,明顯好了許多,到了第四個,就可以一口氣完成了,流程打通了,細節(jié)就可以打磨了。

于是我對有的腳本的邏輯進行改造,有一個很通用的需求,假設(shè)腳本是initdb.sh要調(diào)用這個腳本需要輸入一系列的參數(shù),比如有5個參數(shù)。

這個腳本里面有10個步驟,每個步驟都是使用function來實現(xiàn)的。如果要處理這5個參數(shù),同時能夠控制10個步驟的執(zhí)行,比如第2步不執(zhí)行,第3步執(zhí)行。腳本中其實還是比較難以管理和實現(xiàn)的。

我設(shè)想了幾種實現(xiàn)思路:

1)把10個步驟拆分成10個腳本,然后每個腳本都有自己的調(diào)用方式,獨立控制

2)寫一個配置腳本,比如main.sh然后在這個腳本里控制initdb.sh的執(zhí)行情況

第二種看起來好一些,但是問題還是沒有解決,因為參數(shù)怎么管理,10個步驟怎么處理還是得細化。

我的初步設(shè)想是5個參數(shù),外帶一個參數(shù)即可,前面五個參數(shù)和一個步驟的參數(shù)。

預期執(zhí)行情況大體如下:

# sh a.sh x x x x x 'init1 init3 init2'

init1

init3

init2

即執(zhí)行的時候是按照init1 init3 init2的方式執(zhí)行的。

關(guān)鍵代碼如下:

function init1(){

echo 'init1'

}

function init2(){

echo 'init2'

}

function init3(){

echo 'init3'

}

function initdb(){

arr=$1

for fun in ${arr[*]}; do

echo $i

case $fun in

init1)

echo "test init1"

init1

;;

init2)

echo "test init2"

init2

;;

init3)

echo "test init3"

init3

;;

*)

echo "out of scope"

esac

done

}

init_par=$1

actions=($init_par)

initdb "${actions[*]}"

執(zhí)行結(jié)果如下:

[root@dev01 test]# sh a.sh 'init1 init3 init2'

test init1

init1

test init3

init3

test init2

init2

這里有個問題,那就是我們輸入的操作步驟可能是無序的,但是執(zhí)行的時候是希望按照順序,比如步驟2是依賴于步驟1的,這個我們是明確的。如果要實現(xiàn)這樣一個需求,就需要額外的一些補充,那就是排序功能,或者是前端傳入的時候來控制更好。

沒事,能者多勞,我們就先實現(xiàn)了。保證能正確的運行起來,于是代碼又開始一通改動。

function init1(){

echo 'init1'

}

function init2(){

echo 'init2'

}

function init3(){

echo 'init3'

}

function initdb(){

arr=$1

complete_arr=(init3 init1 init2)

order_arr=()

for act_tmp in ${complete_arr[*]}; do

if [[ " ${arr[@]} " =~ " $act_tmp " ]];then

echo $act_tmp

order_arr[${#order_arr[@]}]=$act_tmp

echo order_arr[${#order_arr[@]}]

fi

done

for fun in ${order_arr[*]}; do

echo $i

case $fun in

init1)

echo "test init1"

init1

;;

init2)

echo "test init2"

init2

;;

init3)

echo "test init3"

init3

;;

*)

echo "out of scope"

esac

done

}

init_par=$1

actions=($init_par)

initdb "${actions[*]}"

假設(shè)正確的步驟我們改為了init3 init1 init2,傳入?yún)?shù)為init1 init3 init2,如果能夠轉(zhuǎn)換,幸福感就大大提高了。

腳本的執(zhí)行結(jié)果如下:

[root@dev01 test]# sh aa.sh 'init1 init3 init2'

init3

order_arr[1]

init1

order_arr[2]

init2

order_arr[3]

test init3

init3

test init1

init1

test init2

init2

可見是達到了預期的目標了,所以這個思路可以借鑒,在其他的地方也可以參考使用。

新聞標題:shell的參數(shù)和腳本流程改進
瀏覽路徑:http://chinadenli.net/article8/gppgip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、外貿(mào)網(wǎng)站建設(shè)、微信公眾號、品牌網(wǎng)站建設(shè)網(wǎng)站設(shè)計、移動網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司
亚洲一区二区三区在线免费| 色丁香之五月婷婷开心| 欧美视频在线观看一区| 欧美尤物在线视频91| 成人精品国产亚洲av久久| 久久精品国产一区久久久| 色播五月激情五月婷婷| 久久午夜福利精品日韩| 91日韩在线视频观看| 国产精品蜜桃久久一区二区| 麻豆精品在线一区二区三区| 中文字幕佐山爱一区二区免费| 欧美成人黄色一区二区三区| 久久婷婷综合色拍亚洲| 国产免费观看一区二区| 国产av天堂一区二区三区粉嫩| 成人免费观看视频免费| 欧美日韩三区在线观看| 国产av一区二区三区麻豆| 亚洲国产欧美久久精品| 免费观看潮喷到高潮大叫| 最好看的人妻中文字幕| 99久久精品一区二区国产| 中文字幕一二区在线观看| 不卡一区二区在线视频| 亚洲欧洲日韩综合二区| 国产三级不卡在线观看视频| 欧美三级精品在线观看| 国产精品不卡免费视频| 98精品永久免费视频| 91精品视频免费播放| 中文字幕乱码免费人妻av| 日韩一级一片内射视频4k| 国产传媒欧美日韩成人精品| 日本欧美一区二区三区就| 久久精品欧美一区二区三不卡| 欧洲一区二区三区自拍天堂| 亚洲精品高清国产一线久久| 久久综合亚洲精品蜜桃| 亚洲一二三四区免费视频| 国内精品一区二区欧美|