鍍金池/ 教程/ Linux/ shell 學(xué)習(xí)----小結(jié)
shell 學(xué)習(xí)四十一天----列出文件 ls 和 od 命令
shell 學(xué)習(xí)小結(jié)
shell 學(xué)習(xí)第二十八天----case 語句
shell 學(xué)習(xí)四十四天----尋找文件
shell 學(xué)習(xí)三十五天----波浪號(hào)展開與通配符
shell 學(xué)習(xí)三十八天----執(zhí)行順序和 eval
shell 學(xué)習(xí)四十八天----文件校驗(yàn)和匹配
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 更新文件時(shí)間
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í)第二十二天----計(jì)算行數(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í)四十三天----臨時(shí)性文件的建立與使用
shell 學(xué)習(xí)四十七天----文件比較 cmp,diff,patch
shell 學(xué)習(xí)三十四天----printf 詳解
shell 學(xué)習(xí)五十七天 ----linux 任務(wù)管理,針對(duì)上一講的總結(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í)五十三天----捕獲信號(hào) trap

shell 學(xué)習(xí)----小結(jié)

小結(jié)

read 命令會(huì)讀取行并將數(shù)據(jù)分割為哥哥字段,供賦值給指明的 shell 變量。搭配 -r 選項(xiàng),可控制數(shù)據(jù)要如何被讀取。

I/O 重定向允許你改編程序的來與與目的地,或者將多個(gè)程序一起執(zhí)行與 subShell 或代碼塊里。除了重定向到文件和從文件從定向之外,管道還可以用于將多個(gè)程序連接在一起。嵌入文件則提供了行內(nèi)輸入。

文件描述符的處理是基本操作,特別是文件描述符 1 與 2,會(huì)重復(fù)的用在日常的腳本編寫中。

printf 是一個(gè)深具靈活性,但有點(diǎn)復(fù)雜的命令,用途是產(chǎn)生輸出。大部分的時(shí)候,他可以簡(jiǎn)單的方式使用,但是他的力量很大。

shell 會(huì)執(zhí)行許多的展開 (或替換) 在每個(gè)命令行的文字上:波浪號(hào)展開式 (如果有支持) 與通配符,變量展開,算術(shù)展開以及命令替換。通配符現(xiàn)已包含 POSIX 字符集,用來針對(duì)文件名內(nèi)的字符進(jìn)行獨(dú)立于 locale 的匹配。為了使用上方便,點(diǎn)號(hào)文件并未包含在通配符展開中。命令替換有兩種形式:...(反引號(hào)) 為原始形式,而 $(...) 為較新,較好寫的形式。

引用會(huì)保護(hù)不同的源代碼原件,免于被 shell 做特殊處理。單個(gè)的字符可能會(huì)以前置反斜杠的方式引用使用。單引號(hào)會(huì)保護(hù)所有括起來的字符;引號(hào)括起來的所有文字都不做處理,切尼不可以將單引號(hào)內(nèi)嵌到以單引號(hào)引用的文字內(nèi)。雙引號(hào)則是組合括起來的項(xiàng)目,從而視為單一的單詞或參數(shù),但是變量,算術(shù)與命令替換仍舊應(yīng)用到內(nèi)容中。

eval 命令的存在是為了取代一般命令行替換與執(zhí)行書訊,讓 shell 腳本可以動(dòng)態(tài)的構(gòu)建命令。這個(gè)功能很好用,但是請(qǐng)小心使用,花點(diǎn)時(shí)間了解 shell 在執(zhí)行輸入行時(shí)的順序絕對(duì)是有好處的。

subSHell 與代碼塊是組化命令的兩種選擇。它們的用一個(gè)不相同,可以根據(jù)需求選用。內(nèi)建命令的存在是因?yàn)樗鼈円淖?shell 內(nèi)部狀態(tài)且必須是內(nèi)建的 (例如 cd),有些則是為了效率,則可以編寫一個(gè)能使內(nèi)建命令生效的 shell 函數(shù)。在所有內(nèi)建命令里,set 命令是最復(fù)雜的。