linux_shell(腳本)編程入門(mén)_實(shí)例講解詳解

linux_shell(腳本)編程入門(mén)_實(shí)例講解詳解

ID:19939056

大?。?5.00 KB

頁(yè)數(shù):5頁(yè)

時(shí)間:2018-10-08

linux_shell(腳本)編程入門(mén)_實(shí)例講解詳解_第1頁(yè)
linux_shell(腳本)編程入門(mén)_實(shí)例講解詳解_第2頁(yè)
linux_shell(腳本)編程入門(mén)_實(shí)例講解詳解_第3頁(yè)
linux_shell(腳本)編程入門(mén)_實(shí)例講解詳解_第4頁(yè)
linux_shell(腳本)編程入門(mén)_實(shí)例講解詳解_第5頁(yè)
資源描述:

《linux_shell(腳本)編程入門(mén)_實(shí)例講解詳解》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。

1、linuxShell(腳本)編程入門(mén)實(shí)例講解詳解為什么要進(jìn)行shell編程在Linux系統(tǒng)中,雖然有各種各樣的圖形化接口工具,但是sell仍然是一個(gè)非常靈活的工具。Shell不僅僅是命令的收集,而且是一門(mén)非常棒的編程語(yǔ)言。您可以通過(guò)使用shell使大量的任務(wù)自動(dòng)化,shell特別擅長(zhǎng)系統(tǒng)管理任務(wù),尤其適合那些易用性、可維護(hù)性和便攜性比效率更重要的任務(wù)。下面,讓我們一起來(lái)看看shell是如何工作的:建立一個(gè)腳本Linux中有好多中不同的shell,但是通常我們使用bash(bourneagainshell)進(jìn)行shell編程,因?yàn)閎ash是免費(fèi)的并且很

2、容易使用。所以在本文中筆者所提供的腳本都是使用bash(但是在大多數(shù)情況下,這些腳本同樣可以在bash的大姐,bourneshell中運(yùn)行)。如同其他語(yǔ)言一樣,通過(guò)我們使用任意一種文字編輯器,比如nedit、kedit、emacs、vi等來(lái)編寫(xiě)我們的shell程序。程序必須以下面的行開(kāi)始(必須方在文件的第一行):#!/bin/sh符號(hào)#!用來(lái)告訴系統(tǒng)它后面的參數(shù)是用來(lái)執(zhí)行該文件的程序。在這個(gè)例子中我們使用/bin/sh來(lái)執(zhí)行程序。當(dāng)編輯好腳本時(shí),如果要執(zhí)行該腳本,還必須使其可執(zhí)行。要使腳本可執(zhí)行:chmod+xfilename然后,您可以通過(guò)輸入:.

3、/filename來(lái)執(zhí)行您的腳本。注釋在進(jìn)行shell編程時(shí),以#開(kāi)頭的句子表示注釋?zhuān)钡竭@一行的結(jié)束。我們真誠(chéng)地建議您在程序中使用注釋。如果您使用了注釋?zhuān)敲醇词瓜喈?dāng)長(zhǎng)的時(shí)間內(nèi)沒(méi)有使用該腳本,您也能在很短的時(shí)間內(nèi)明白該腳本的作用及工作原理。變量在其他編程語(yǔ)言中您必須使用變量。在shell編程中,所有的變量都由字符串組成,并且您不需要對(duì)變量進(jìn)行聲明。要賦值給一個(gè)變量,您可以這樣寫(xiě):變量名=值取出變量值可以加一個(gè)美元符號(hào)($)在變量前面:#!/bin/sh#對(duì)變量賦值:a="helloworld"#現(xiàn)在打印變量a的內(nèi)容:echo"Ais:"echo$a

4、在您的編輯器中輸入以上內(nèi)容,然后將其保存為一個(gè)文件first。之后執(zhí)行chmod+xfirst。使其可執(zhí)行,最后輸入./first執(zhí)行該腳本。這個(gè)腳本將會(huì)輸出:Ais:  helloworld有時(shí)候變量名很容易與其他文字混淆,比如:num=2  echo"thisisthe$numnd"這并不會(huì)打印出"thisisthe2nd",而僅僅打印"thisisthe",因?yàn)閟hell會(huì)去搜索變量numnd的值,但是這個(gè)變量時(shí)沒(méi)有值的??梢允褂没ɡㄌ?hào)來(lái)告訴shell我們要打印的是num變量:num=2  echo"thisisthe$nd"這將打?。簍his

5、isthe2nd有許多變量是系統(tǒng)自動(dòng)設(shè)定的,這將在后面使用這些變量時(shí)進(jìn)行討論。如果您需要處理數(shù)學(xué)表達(dá)式,那么您需要使用諸如expr等程序(見(jiàn)下面)。除了一般的僅在程序內(nèi)有效的shell變量以外,還有環(huán)境變量。由export關(guān)鍵字處理過(guò)的變量叫做環(huán)境變量。我們不對(duì)環(huán)境變量進(jìn)行討論,因?yàn)橥ǔG闆r下僅僅在登錄腳本中使用環(huán)境變量。Shell命令和流程控制在shell腳本中可以使用三類(lèi)命令:1)Unix命令:雖然在shell腳本中可以使用任意的unix命令,但是還是由一些相對(duì)更常用的命令。這些命令通常是用來(lái)進(jìn)行文件和文字操作的。常用命令語(yǔ)法及功能:echo"s

6、ometext":將文字內(nèi)容打印在屏幕上。ls:文件列表。wc–lfilewc-wfilewc-cfile:計(jì)算文件行數(shù)計(jì)算文件中的單詞數(shù)計(jì)算文件中的字符數(shù)。cpsourcefiledestfile:文件拷貝。mvoldnamenewname:重命名文件或移動(dòng)文件。rmfile:刪除文件。grep'pattern'file:在文件內(nèi)搜索字符串比如:grep'searchstring'file.txtcut-bcolnumfile:指定欲顯示的文件內(nèi)容范圍,并將它們輸出到標(biāo)準(zhǔn)輸出設(shè)備比如:輸出每行第5個(gè)到第9個(gè)字符cut–b5-9file.txt千萬(wàn)不

7、要和cat命令混淆,這是兩個(gè)完全不同的命令。catfile.txt:輸出文件內(nèi)容到標(biāo)準(zhǔn)輸出設(shè)備(屏幕)上。filesomefile:得到文件類(lèi)型。readvar:提示用戶(hù)輸入,并將輸入賦值給變量。sortfile.txt:對(duì)file.txt文件中的行進(jìn)行排序。uniq:刪除文本文件中出現(xiàn)的行列比如:sortfile.txt

8、uniq。expr:進(jìn)行數(shù)學(xué)運(yùn)算Example:add2and3expr2"+"3。find:搜索文件比如:根據(jù)文件名搜索find.-namefilename-print。tee:將數(shù)據(jù)輸出到標(biāo)準(zhǔn)輸出設(shè)備(屏幕)和文件比如:som

9、ecommand

10、teeoutfile。basenamefile:返回不包含路徑的文件名比如:basenam

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶(hù)上傳,版權(quán)歸屬用戶(hù),天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶(hù)請(qǐng)聯(lián)系客服處理。