項(xiàng)目中比較常用的shell腳本命令

項(xiàng)目中比較常用的shell腳本命令

? ? shell命令執(zhí)行有兩種執(zhí)行方式:一種是,用戶(hù)輸入一條命令只怎,shell就解釋執(zhí)行一條,這種方式被稱(chēng)為交互式怜俐;另一種是身堡,用戶(hù)事先寫(xiě)好一個(gè) shell腳本,其中會(huì)有多條命令拍鲤,讓shell一次把這些命令執(zhí)行完贴谎,而不用一條一條的執(zhí)行命令汞扎,這種方式被稱(chēng)為批處理。

? ? 常見(jiàn)的交互式方式有:cd? ..? ?或 pwd? 等擅这;常見(jiàn)的批處理方式澈魄,我們需要寫(xiě)一個(gè)shell腳本,例如test.sh仲翎。下面我們主要介紹我們項(xiàng)目中需要用到的shell腳本的基本命令及其語(yǔ)法痹扇。

編寫(xiě)一個(gè)簡(jiǎn)單的test.sh腳本:

圖一

在shell腳本中用#表示注釋?zhuān)喈?dāng)于Java中的//注釋?zhuān)侨绻?位于第一行開(kāi)頭,并且是#溯香!時(shí)則例外鲫构,它表示的是該腳本使用后面的編譯器/bin/sh解釋執(zhí)行的,第二行表示插入test用戶(hù)下的環(huán)境變量玫坛。在寫(xiě)好的shell腳本之后结笨,我們需要給這個(gè)腳本添加可執(zhí)行權(quán)限:在Linux可視化窗口執(zhí)行chmod +x? test.sh,然后這個(gè)test.sh這個(gè)腳本就可以了,如 sh? test.sh? 或? ./test.sh昂秃。

shell腳本的基本語(yǔ)法:

變量:Shell變量通常由字母加下劃線開(kāi)頭禀梳,由任意長(zhǎng)度的字母、數(shù)字肠骆、下劃線組成算途。例如my_name="csp",這里需要注意的是,等號(hào)的兩邊一定不能有空格號(hào)蚀腿。

命令代換:由“`”反引號(hào)括起來(lái)的也是一條命令嘴瓤,Shell先執(zhí)行該命令,然后將該命令執(zhí)行結(jié)果立刻代換到當(dāng)前命令行中莉钙。例如執(zhí)行一個(gè)當(dāng)前目錄的代換到變量path_dir中:path_dir=`pwd`,則shell會(huì)先執(zhí)行pwd這個(gè)命令廓脆,將pwd命令的結(jié)果賦值給變量path_dir。

圖二

上述腳本中磁玉,就是將test數(shù)據(jù)庫(kù)中的信息查詢(xún)結(jié)果代換給b這個(gè)變量停忿。注意圖中用的read? -p 命令是表示等待用戶(hù)輸入一個(gè)變量transDate的值。這里我們?cè)俳榻B一種自動(dòng)賦值的變量方式蚊伞,而對(duì)這種方式的腳本執(zhí)行時(shí)席赂,一開(kāi)始就需要進(jìn)行賦值,腳本編寫(xiě)如下:

圖三

執(zhí)行上述腳本時(shí)时迫,命令需要 ./test.sh? 20190616,這里的20190616就會(huì)自動(dòng)賦值給${1}颅停。

條件分支:

與C語(yǔ)言類(lèi)似,在Shell中用if掠拳、then癞揉、elif、else、fi這幾條命令實(shí)現(xiàn)分支控制喊熟。這種流程控制語(yǔ)句本質(zhì)上也是由若干條Shell命令組成的柏肪,這里我們需要注意到的是如果兩條命令寫(xiě)在同一行則序號(hào)用(;)分號(hào)隔開(kāi)逊移,如果一行只寫(xiě)一條命令就不需要寫(xiě)分號(hào)了预吆;另外then后面有換行,但是這條命令沒(méi)寫(xiě)完胳泉,shell會(huì)自動(dòng)續(xù)行,把下一行的命令當(dāng)成一條命令進(jìn)行處理岩遗,在if命令的參數(shù)里扇商,執(zhí)行結(jié)果為0表示真,執(zhí)行結(jié)果非0表示假宿礁。例如:

圖四

循環(huán):

Shell腳本的for循環(huán)結(jié)構(gòu)類(lèi)似于某些java語(yǔ)言的foreach循環(huán)(迭代器)案铺,例如

圖五

圖中,還用到了另一個(gè)命令 break梆靖,這個(gè)命令表示跳出循環(huán)控汉。其中 break n,表示可以指定跳出幾層循環(huán)。說(shuō)到break時(shí)返吻,在shell還有一個(gè)命令continue表示跳過(guò)姑子,而同樣continue有命令 continue? n 表示跳過(guò)幾層循環(huán)。

while的用法和C語(yǔ)言類(lèi)似测僵,例如:

圖六
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末街佑,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子捍靠,更是在濱河造成了極大的恐慌沐旨,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,348評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件榨婆,死亡現(xiàn)場(chǎng)離奇詭異磁携,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)良风,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,122評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén)谊迄,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人拖吼,你說(shuō)我怎么就攤上這事鳞上。” “怎么了吊档?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,936評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵篙议,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng)鬼贱,這世上最難降的妖魔是什么移怯? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,427評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮这难,結(jié)果婚禮上舟误,老公的妹妹穿的比我還像新娘。我一直安慰自己姻乓,他們只是感情好嵌溢,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,467評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著蹋岩,像睡著了一般赖草。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上剪个,一...
    開(kāi)封第一講書(shū)人閱讀 49,785評(píng)論 1 290
  • 那天秧骑,我揣著相機(jī)與錄音,去河邊找鬼扣囊。 笑死乎折,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的侵歇。 我是一名探鬼主播骂澄,決...
    沈念sama閱讀 38,931評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼盒至!你這毒婦竟也來(lái)了酗洒?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,696評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤枷遂,失蹤者是張志新(化名)和其女友劉穎樱衷,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體酒唉,經(jīng)...
    沈念sama閱讀 44,141評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡矩桂,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,483評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了痪伦。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片侄榴。...
    茶點(diǎn)故事閱讀 38,625評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖网沾,靈堂內(nèi)的尸體忽然破棺而出癞蚕,到底是詐尸還是另有隱情,我是刑警寧澤辉哥,帶...
    沈念sama閱讀 34,291評(píng)論 4 329
  • 正文 年R本政府宣布桦山,位于F島的核電站攒射,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏恒水。R本人自食惡果不足惜会放,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,892評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望钉凌。 院中可真熱鬧咧最,春花似錦、人聲如沸御雕。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)饮笛。三九已至咨察,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間福青,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工脓诡, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留无午,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,324評(píng)論 2 360
  • 正文 我出身青樓祝谚,卻偏偏與公主長(zhǎng)得像宪迟,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子交惯,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,492評(píng)論 2 348