Egrep和fgrep使用方法和grep類似,其中Egrep可以連接擴(kuò)展類正則表達(dá)式,fgrep為grep的快速表達(dá)式,后面不能跟正則表達(dá)式。
編程語言有機(jī)器語言、匯編語言、高級(jí)語言
語言又分為靜態(tài)語言和動(dòng)態(tài)語言,其中靜態(tài)語言為編譯型語言,屬于強(qiáng)類型,事先轉(zhuǎn)換成可執(zhí)行格式,如C、C++、JAVA、C#;動(dòng)態(tài)語言為解釋型語言,屬于弱類型,邊解釋邊執(zhí)行,如 PHP、SHELL、PYTHON、PERL等。(強(qiáng)類型:變量在使用前,必須事先聲明,甚至還需要初始化;弱類型:變量用時(shí)聲明,甚至不區(qū)分類型)
面向過程的語言:shell,c
面向?qū)ο蟮恼Z言:Java,Python,Perl,c++
bash的變量類型有:環(huán)境變量、本地變量(局部變量)、特殊變量、位置變量
本地變量:本地變量在使用時(shí)聲明,變量引用時(shí)使用${變量},在容易出現(xiàn)混淆時(shí)必須要有花括號(hào),如name=dog,echo ${name}s,如果不加括號(hào)則變量是names,此時(shí)無此變量聲明。
局部變量:
用法:local?varname=value,作用域?yàn)楫?dāng)前代碼段
環(huán)境變量:
用法:export?varname=value,作用域?yàn)楫?dāng)前shell進(jìn)程及其子進(jìn)程。腳本在執(zhí)行時(shí)會(huì)啟動(dòng)一個(gè)子shell進(jìn)程,在命令行中啟動(dòng)的腳本會(huì)繼承當(dāng)前shell的環(huán)境變量,在系統(tǒng)中自動(dòng)執(zhí)行的腳本(非命令行啟動(dòng))就需要自我定義需要的各種環(huán)境變量,使用set可以查看當(dāng)前shell中的變量,使用printenv、env、export可以查看當(dāng)前shell中的環(huán)境變量。
腳本:由命令堆砌的,按照實(shí)際需求,結(jié)合命令流程控制機(jī)制實(shí)現(xiàn)的源程序。一般為“*.sh”的格式,并且要有執(zhí)行權(quán)限,內(nèi)容一般以#! /bin/bash開頭,稱之為shebang(魔數(shù)),單獨(dú)#開頭的內(nèi)容為注釋行,不執(zhí)行。
執(zhí)行腳本文件操作:
[if !supportLists]1、[endif]將腳本所在目錄添加到path中,可以直接使用腳本名字執(zhí)行
[if !supportLists]2、[endif]指定腳本所在目錄執(zhí)行,也可以使用“bash腳本名”執(zhí)行。