Linux學(xué)習(xí)筆記之正則表達(dá)式shell腳本基礎(chǔ)

正則表達(dá)式

^表示開頭

$表示結(jié)尾

[a-z]

[A-Z]

[0-9]

.? 單個(gè)任意字符

* 前面字符重復(fù)的次數(shù)>=0

+前面字符重復(fù)出現(xiàn)的次數(shù)>=1

? 前面字符重復(fù)出現(xiàn)的次數(shù)0或1次

{n,m}前面字符重復(fù)出現(xiàn)的次數(shù)n到m次

{n,}出現(xiàn)次數(shù)大于n次

{,m}出現(xiàn)次數(shù)小魚m次

grep? + 正則

sed? '匹配條件/執(zhí)行的動(dòng)作'? /etc/passwd 或者 cat /etc/passwd | sed? '匹配條件/執(zhí)行的動(dòng)作'

替換? sed 's/old/new/g'

awk? awk -F: '{print $1}' /etc/passwd? 查看passwd中的第一列? ? $0所有? $1第一列? $2第二列

Shell

環(huán)境變量? ? (set命令)

------>

系統(tǒng)? --- 多用戶

用戶環(huán)境變量(/root/.bash_profile)? ,, 系統(tǒng)環(huán)境變量(/etc/profile)

位置變量

---通常和腳本聯(lián)合使用

---$0? 腳本名稱

----$1? .....? $9? 位置參數(shù)

預(yù)定義變量

由系統(tǒng)保留和維護(hù)的一組特殊變量,由系統(tǒng)保留和維護(hù)的一組特殊變量

$0 保存當(dāng)前線程和腳本的名稱

$! 后臺(tái)運(yùn)行的最后一個(gè)進(jìn)程的PID號(hào)

$? 代表程序退出狀態(tài)(0表示成功? 非0表示失敗)即上一個(gè)命令執(zhí)行結(jié)果

$*代表所有參數(shù)的內(nèi)容(整體)

$$代表當(dāng)前進(jìn)程的PID號(hào)碼

$#代表當(dāng)前shell的參數(shù)個(gè)數(shù)

$@代表所有參數(shù)內(nèi)容(逐個(gè)讀取)

自定義變量

---語(yǔ)法格式? : name=[value]

--- 注意:

變量等號(hào)兩邊不能有空格

變量對(duì)大小寫敏感

--- 定義好后使用($變量名)來調(diào)用變量的值

shell算數(shù)運(yùn)算

+ - * / %

-----$((expression))

-----$[expression]

-----expr expression

a=2

b=3

echo $((a+b))

expr $a + $b

shell 內(nèi)置測(cè)試判斷? : 成功/成立? ---- 失敗/不成立

Linux提供了 非(!) ,或(-o) ,與(-a)三個(gè)邏輯操作符,,用于將測(cè)試條件連接起來,,

優(yōu)先級(jí)為? : !最高,-a次之,-o最低

數(shù)值比較

-eq 等于則為真

-ne 不等于則為真

-gt 大于則為真

-ge 大于等于則為真

-lt 小于則為真

-le 小于等于則為真

字符串比較

=等于則為真

!= 不等于則為真

-z? 字符串長(zhǎng)度偽則為真(長(zhǎng)度為0,為空)

-n? 字符竄長(zhǎng)度不偽則為真(長(zhǎng)度不為0)

文件測(cè)試

-e 文件名 如果文件存在則為真

-r 文件名 如果文件存在且可讀則為真

-w 文件名 如果文件存在且可寫則為真

-x 文件名 如果文件存在且可執(zhí)行

-s? 文件名 如果文件存在且至少有一個(gè)字符則為真

-d 文件名 如果文件存在且為目錄則為真

-f? 文件名 如果文件存在且為普通文件則為真

-c 文件名? 如果文件存在且為字符型特殊文件則為真

-b 文件名 如果文件存在且為塊特殊文件則為真

----? test? 測(cè)試表達(dá)式

[root@localhost ~]# echo $a $b

2 3

[root@localhost ~]# test $a -lt $b

[root@localhost ~]# echo $?

0

----? [測(cè)試表達(dá)式]? ? 最常見的

---- 注意? 測(cè)試表達(dá)式與中括號(hào)之間一定要有空格

[root@localhost ~]# echo $a $b

2 3

[root@localhost ~]# [ $a -lt $b ]

[root@localhost ~]# echo $?

0

[root@localhost ~]#

&&邏輯與

--? cmd1 && cmd2? cmd1命令成功了才會(huì)執(zhí)行cmd2

||邏輯或

-- cmd1 || cmd2? cmd1失敗了才會(huì)執(zhí)行cmd2

;? 無邏輯關(guān)系

-- cmd1 ; cmd2? cmd1執(zhí)行完后執(zhí)行cmd2

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末拭卿,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子绽乔,更是在濱河造成了極大的恐慌塘辅,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,755評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件荠商,死亡現(xiàn)場(chǎng)離奇詭異寂恬,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)莱没,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門初肉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人饰躲,你說我怎么就攤上這事牙咏。” “怎么了嘹裂?”我有些...
    開封第一講書人閱讀 165,138評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵妄壶,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我寄狼,道長(zhǎng)丁寄,這世上最難降的妖魔是什么氨淌? 我笑而不...
    開封第一講書人閱讀 58,791評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮伊磺,結(jié)果婚禮上盛正,老公的妹妹穿的比我還像新娘。我一直安慰自己屑埋,他們只是感情好豪筝,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著摘能,像睡著了一般续崖。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上团搞,一...
    開封第一講書人閱讀 51,631評(píng)論 1 305
  • 那天严望,我揣著相機(jī)與錄音,去河邊找鬼莺丑。 笑死著蟹,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的梢莽。 我是一名探鬼主播萧豆,決...
    沈念sama閱讀 40,362評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼昏名!你這毒婦竟也來了涮雷?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,264評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤轻局,失蹤者是張志新(化名)和其女友劉穎洪鸭,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體仑扑,經(jīng)...
    沈念sama閱讀 45,724評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡览爵,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了镇饮。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蜓竹。...
    茶點(diǎn)故事閱讀 40,040評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖储藐,靈堂內(nèi)的尸體忽然破棺而出俱济,到底是詐尸還是另有隱情,我是刑警寧澤钙勃,帶...
    沈念sama閱讀 35,742評(píng)論 5 346
  • 正文 年R本政府宣布蛛碌,位于F島的核電站,受9級(jí)特大地震影響辖源,放射性物質(zhì)發(fā)生泄漏蔚携。R本人自食惡果不足惜希太,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望浮梢。 院中可真熱鬧跛十,春花似錦、人聲如沸秕硝。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)远豺。三九已至,卻和暖如春坞嘀,著一層夾襖步出監(jiān)牢的瞬間躯护,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工丽涩, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留棺滞,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,247評(píng)論 3 371
  • 正文 我出身青樓矢渊,卻偏偏與公主長(zhǎng)得像径筏,于是被迫代替她去往敵國(guó)和親灵巧。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 個(gè)人學(xué)習(xí)批處理的初衷來源于實(shí)際工作;在某個(gè)迭代版本有個(gè)BS(安卓手游模擬器)大需求勋磕,從而在測(cè)試過程中就重復(fù)涉及到...
    Luckykailiu閱讀 4,725評(píng)論 0 11
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)刁标,斷路器博助,智...
    卡卡羅2017閱讀 134,659評(píng)論 18 139
  • 第1章 小試牛刀 $ 是普通用戶,# 表示管理員用戶 root猪瞬。 shebang:#!憎瘸。sharp / hash ...
    巴喬書摘閱讀 6,341評(píng)論 1 4
  • 一、shell腳本介紹 1.1 開頭(環(huán)境使用shebang機(jī)制) #陈瘦!/bin/bash 必須寫在文件首行 符號(hào)...
    優(yōu)果馥斯閱讀 3,296評(píng)論 0 1
  • 1.iOS Core Animation2.Core Graphics Tutorial3.Core Graphi...
    陸號(hào)閱讀 173評(píng)論 0 0