鍍金池/ 教程/ Linux/ shell 學(xué)習(xí)總結(jié)一
shell 學(xué)習(xí)四十一天----列出文件 ls 和 od 命令
shell 學(xué)習(xí)小結(jié)
shell 學(xué)習(xí)第二十八天----case 語句
shell 學(xué)習(xí)四十四天----尋找文件
shell 學(xué)習(xí)三十五天----波浪號展開與通配符
shell 學(xué)習(xí)三十八天----執(zhí)行順序和 eval
shell 學(xué)習(xí)四十八天----文件校驗和匹配
shell 學(xué)習(xí)四十天----awk 的驚人表現(xiàn)
shell 學(xué)習(xí)第十一天----sed 正則的精確控制
shell 學(xué)習(xí)第十七天----awk 命令
shell 學(xué)習(xí)三十九天----內(nèi)建命令
shell 學(xué)習(xí)四十五天----xargs
shell 學(xué)習(xí)三十七天----引用
shell 學(xué)習(xí)第十六天----join 練習(xí)
shell 學(xué)習(xí)第二十四天----提取開頭或結(jié)尾數(shù)行
shell 學(xué)習(xí)第九天----分組
shell 學(xué)習(xí)第五天----基本的 I/O 重定向
shell 學(xué)習(xí)第十五天----使用 cut 選定字段
shell 學(xué)習(xí)四十六天----文件系統(tǒng)的空間信息 df 和 du 命令
shell 學(xué)習(xí)第八天----擴(kuò)展正則表達(dá)式 (ERE)
shell 學(xué)習(xí)第十九天----文本塊排序
shell 學(xué)習(xí)第二十一天----重新格式化段落
shell 學(xué)習(xí)三十六天----命令替換
shell 學(xué)習(xí)第二十天----sort 的其他內(nèi)容以及 uniq 命令
shell 學(xué)習(xí)四十二天----使用 touch 更新文件時間
shell 學(xué)習(xí)五十一天----top 命令查看進(jìn)程列表
shell 學(xué)習(xí)第一天
shell 學(xué)習(xí)五十四天----進(jìn)程系統(tǒng)調(diào)用的追蹤 strace
shell 學(xué)習(xí)五十天----查看進(jìn)程 ps 命令
shell 學(xué)習(xí)第二十七天----退出狀態(tài)和 if 語句
shell 學(xué)習(xí)第二十三天----打印
shell 學(xué)習(xí)三十三天----關(guān)于重定向
shell 學(xué)習(xí)四十九天----進(jìn)程建立
shell 學(xué)習(xí)第三十天----break,continue,shift,getopts
shell 學(xué)習(xí)五十五天----進(jìn)程記賬
shell 學(xué)習(xí)總結(jié)一
shell 學(xué)習(xí)第二十六天----變量與算數(shù)
shell 學(xué)習(xí)第二十二天----計算行數(shù), 字?jǐn)?shù)以及字符數(shù)
shell 學(xué)習(xí)五十八天----/proc 文件系統(tǒng)
shell 學(xué)習(xí)第二十五天----神器的管道符
shell 學(xué)習(xí)第三十二天----read 讀取一行
sheel 學(xué)習(xí)第三天
shell 學(xué)習(xí)----小結(jié)
shell 學(xué)習(xí)第十八天----文本排序
shell 學(xué)習(xí)第三十一天----函數(shù)問題
shell 學(xué)習(xí)第十天----sed 查找與替換
shell 學(xué)習(xí)四十三天----臨時性文件的建立與使用
shell 學(xué)習(xí)四十七天----文件比較 cmp,diff,patch
shell 學(xué)習(xí)三十四天----printf 詳解
shell 學(xué)習(xí)五十七天 ----linux 任務(wù)管理,針對上一講的總結(jié)和擴(kuò)展
shell 學(xué)習(xí)第六天----小結(jié)
shell 學(xué)習(xí)第十三天----sed 案例分析
shell 學(xué)習(xí)第七天----基礎(chǔ)正則表達(dá)式 (BRE)
shell 學(xué)習(xí)第十二天----行與字符串
shell 學(xué)習(xí)小結(jié)四
shell 學(xué)習(xí)第二十九天----循環(huán)
shell 學(xué)習(xí)五十二天----刪除進(jìn)程 kill 命令
shell 學(xué)習(xí)五十六天----延遲進(jìn)程調(diào)度
shell 學(xué)習(xí)第四天----華麗的 printf 輸出
shell 學(xué)習(xí)第十五天----join 連接字段
shell 學(xué)習(xí)完結(jié)篇----希望你能看到
shell 學(xué)習(xí)第二天
shell 學(xué)習(xí)五十三天----捕獲信號 trap

shell 學(xué)習(xí)總結(jié)一

本章小結(jié)

變量在正是一點(diǎn)的程序里是必備項目。shell 的變量會保留字符串值,而大量的運(yùn)算符可以在 ${var...} 里使用,讓你控制變量的結(jié)果。

shell 提供了許多的特殊變量 (例如 #?$!),用來訪問特殊信息,例如,命令退出狀態(tài)。shell 也有許多預(yù)定義的特殊變量,例如 PS1----用來設(shè)置主要提示符。位置參數(shù)與 $*$@ 這類的特殊變量,則用來在腳本 (或函數(shù)) 被引用是,讓用戶可以訪問被使用的參數(shù)。envexport 以及 readonly 則用來控制環(huán)境。

$((...)) 的算術(shù)展開提供完整的算術(shù)運(yùn)算能力,且使用與 C 相同的運(yùn)算符與優(yōu)先級。

程序的退出狀態(tài)是一個小的整數(shù),可以在程序完成后,攻飲用者使用;shell 腳本使用 exit 命令來做這件事,而 shell 函數(shù)則使用 return 命令。shell 腳本可以取得在特殊變量 $? 內(nèi)執(zhí)行的最后一個命令的退出狀態(tài)。

退出狀態(tài)可以搭配 if,while 與 until 語句來進(jìn)行流程控制,也可以與!,&&,以及 || 運(yùn)算符搭配使用。

test 命令及其別名 [...],可測試文件屬性和字符串與數(shù)值,在 if,while 以及 until 語句里,他也相當(dāng)有用。

for 提供遍歷整組值的的循環(huán)機(jī)制,這整組的值可以是字符串,文件名或其他等等。whileuntil 提供比較傳統(tǒng)的循環(huán)方式,加上 breakcontinue 提供額外的循環(huán)控制。case 語句提供一個多重比較功能,類似 C 與 C++ 里面的 switch 語句。

getopts,shift$# 提供處理命令行的工具。

最后 shell 函數(shù)可將相關(guān)命令組織到一起,之后再將它視為一個單獨(dú)調(diào)用使用。他們有點(diǎn)像 shell 腳本,只不過他將命令存放在內(nèi)存里,這樣更有效率,且他們還能影響引用腳本的變量與狀態(tài)。