目標
學會Shell編程,能讀懂別人寫的Shell腳本,能獨立編寫Shell腳本解決工作中的問題。
緣由
1. Shell編程是一門永不過時的技術(shù),是每個高效程序員都應該具備的基本技能。
2. DevOps工作中,很多地方需要用到Shell腳本,學會它能大大提高工作效率。
學習資料
1.以SafariBooksOnline上Sander van Vugt的Learning Path: Bash Scripting 視頻教程為主。
2.閱讀The Linux Command Line by William E. Shotts, Jr.
3.輔以閱讀Dave Taylor的Wicked Cool Shell Scripts。
所需時間(2016/9/19--2016/11/19)
學習過程分為三階段,共計8周。
- 第一階段(1周)
搭建學習環(huán)境、學會編寫、調(diào)試基本的Shell腳本。
產(chǎn)出:完成課后練習,寫一篇文章總結(jié)所學知識。 - 第二階段(3周)
學習Shell腳本語法,能編寫復雜的腳本。
產(chǎn)出:完成課后練習,寫兩篇文章總結(jié)所學知識。 - 第三階段(3周)
學習Shell腳本高級知識和最佳實踐。
產(chǎn)出:完成課后練習,寫三篇文章總結(jié)所學知識 - 第四階段(1周)
閱讀工作中遇到的Shell腳本,看看還有哪些知識點沒有學到。
產(chǎn)出:能看出工作中用到腳本的優(yōu)缺點,并能重構(gòu)使其完善。再寫篇文章總結(jié)。
進度表
|周|起止|內(nèi)容|狀態(tài)|備注|
| ------------- |:-------------:|-----|-----|
| 第一周 | 2016/9/19--2016/9/26 | LESSON 1: CREATINGYOUR FIRST SHELL SCRIPT
LESSON 2: WORKING WITH VARIABLES AND PARAMETERS| 進行中| Ch7, Ch8, Ch11, Ch12, Ch13|
| 第二周 | 2016/9/27--2016/10/3 |LESSON 3: TRANSFORMING INPUT
LESSON 4: USING ESSENTIAL EXTERNAL TOOLS | 未開始| 讀書|
| 第三周 | 2016/10/4--2016/10/11 | LESSON 5: USING CONDITIONAL STATEMENTS
LESSON 6: USING ADVANCED SCRIPTING OPTIONS | 未開始| 讀書|
| 第四周 | 2016/10/12--2016/10/19 | LESSON 7: SCRIPT DEBUGGING AND ANALYZING
LESSON 8: SCRIPTING BY EXAMPLE | 未開始| 讀書|
| 第五周 | 2016/10/20--2016/10/26 | LESSON 9: REVIEWING BASICS
LESSON 10: SCRIPTING BEST PRACTICES | 未開始| 讀書|
| 第六周 | 2016/10/27--2016/11/3 | LESSON 11: UNDERSTANDING SYNTAX DIFFERENCES
LESSON 12: USING ADVANCED AWK, SED, AND REGULAR EXPRESSIONS | 未開始| 讀書|
| 第七周 | 2016/11/4--2016/11/11 | LESSON 13: ANALYZING ADVANCED SCRIPTS
LESSON 14: WRITING A COMPLEX SCRIPT| 未開始| 讀書|
| 第八周 | 2016/11/12--2016/11/19 | READ THE SHELL SCRIPTS IN MY DAILY WORK | 未開始| 讀書|