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

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

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

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

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

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

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

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

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

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