如何做才能學(xué)好Shell腳本的經(jīng)驗(yàn)總結(jié)?
掃描二維碼
隨時(shí)隨地手機(jī)看文章
大多同學(xué)反饋Shell腳本不容易學(xué),感覺學(xué)完了Shell腳本這部分課程,還是不能寫出腳本來(lái)。 我來(lái)幫大家分析一下原因,并解說(shuō)如何做才能學(xué)好Shell腳本。
之所以你覺得難學(xué),寫不出東西來(lái)。是因?yàn)?,太生疏。寫Shell腳本其實(shí)跟嬰兒學(xué)走步,學(xué)騎自行車或者學(xué)游泳一樣,這是一個(gè)熟練活兒。
要想寫出一手漂亮的腳本,我總結(jié)了以下幾點(diǎn):
1 打好基本功
Shell腳本,本質(zhì)上是多條Linux系統(tǒng)命令加上邏輯(條件、循環(huán))構(gòu)成的一個(gè)文本文檔。要想實(shí)現(xiàn)一個(gè)需求,只要你可以用系統(tǒng)命令實(shí)現(xiàn),那Shell腳本就可以實(shí)現(xiàn)。如果你Linux命令都不會(huì),那怎么能寫出腳本來(lái)?
2 學(xué)好正則
如果你多寫幾個(gè)Shell腳本,就會(huì)發(fā)現(xiàn),好多需求是從一個(gè)大字符串里截取出小字符串。這就需要你對(duì)正則表達(dá)式十分熟練,操作正則的幾個(gè)工具也要熟練使用(grep/sed/awk)。
3 邏輯思維能力
大型的Shell腳本中,有很強(qiáng)的邏輯,條件滿足時(shí)做什么,不滿足時(shí)做什么。條件里面還可以嵌套條件,也可以嵌套循環(huán)(for、while等)。
這種邏輯能力并不是我們生來(lái)具備的,它是需要不斷練習(xí)、長(zhǎng)期積累出來(lái)的功力。
你可能會(huì)問(wèn),哪里有那么多的腳本需求?關(guān)鍵是沒有機(jī)會(huì)練習(xí)啊。是的,這的確是個(gè)問(wèn)題,尤其是正在學(xué)習(xí)階段的同學(xué),平時(shí)哪里有什么需求啊。要是上班了還好,每天有很多工作做,生產(chǎn)環(huán)境中也有不少需求用Shell腳本來(lái)實(shí)現(xiàn)。
對(duì)于學(xué)習(xí)階段的同學(xué),我考慮到你們的處境,所以去年花了幾個(gè)月時(shí)間,在公眾號(hào)里堅(jiān)持每日發(fā)一個(gè)Shell練習(xí)題,這些資源你可以利用起來(lái)。其實(shí),有不少同學(xué)只堅(jiān)持了一個(gè)月就已經(jīng)感覺到了明顯的提升。