版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、linux腳本程序編寫(xiě)基礎(chǔ)2012071715:02:43|分類(lèi):Linux|標(biāo)簽:linux開(kāi)發(fā)linux筆記linux|字號(hào)訂閱1.Linux腳本編寫(xiě)基礎(chǔ)1.1語(yǔ)法基本介紹1.1.1開(kāi)頭程序必須以下面的行開(kāi)始(必須放在文件的第一行):#!binsh符號(hào)#!用來(lái)告訴系統(tǒng)它后面的參數(shù)是用來(lái)執(zhí)行該文件的程序。在這個(gè)例子中我們使用binsh來(lái)執(zhí)行程序。當(dāng)編輯好腳本時(shí),如果要執(zhí)行該腳本,還必須使其可執(zhí)行。要使腳本可執(zhí)行:編譯chmodxfil
2、ename這樣才能用.filename來(lái)運(yùn)行1.1.2注釋在進(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)明白該腳本的作用及工作原理。1.1.3變量在其他編程語(yǔ)言中您必須使用變量。在shell編程中,所有的變量都由字符串組成,并且您不需要對(duì)變量進(jìn)行聲明。要賦值給一個(gè)變量,您可以這樣寫(xiě):#!binsh#對(duì)變量賦值
3、:a=“hellowld“#現(xiàn)在打印變量a的內(nèi)容:echo“Ais:“echo$a有時(shí)候變量名很容易與其他文字混淆,比如:num=2echo“thisisthe$numnd“這并不會(huì)打印出“thisisthe2nd“,而僅僅打印“thisisthe“,因?yàn)閟hell會(huì)去搜索變量numnd的值,但是這個(gè)變量時(shí)沒(méi)有值的??梢允褂没ɡㄌ?hào)來(lái)告訴shell我們要打印的是num變量:sed:Sed是一個(gè)基本的查找替換程序。可以從標(biāo)準(zhǔn)輸入(比如命令管
4、道)讀入文本,并將結(jié)果輸出到標(biāo)準(zhǔn)輸出(屏幕)。該命令采用正則表達(dá)式(見(jiàn)參考)進(jìn)行搜索。不要和shell中的通配符相混淆。比如:將linuxfocus替換為L(zhǎng)inuxFocus:cattext.file|sedslinuxfocusLinuxFocusnewtext.fileawk:awk用來(lái)從文本文件中提取字段。缺省地,字段分割符是空格,可以使用F指定其他分割符。catfile.txt|awkFprint$1““$3這里我們使用,作為字
5、段分割符,同時(shí)打印第一個(gè)和第三個(gè)字段。如果該文件內(nèi)容如下:AdamB34IndiaKerryMiller22USA命令輸出結(jié)果為:AdamBIndiaKerryMillerUSA2)概念:管道重定向和backtick這些不是系統(tǒng)命令,但是他們真的很重要。管道(|)將一個(gè)命令的輸出作為另外一個(gè)命令的輸入。grep“hello“file.txt|wcl在file.txt中搜索包含有”hello”的行并計(jì)算其行數(shù)。在這里grep命令的輸出作為
6、wc命令的輸入。當(dāng)然您可以使用多個(gè)命令。重定向:將命令的結(jié)果輸出到文件,而不是標(biāo)準(zhǔn)輸出(屏幕)。寫(xiě)入文件并覆蓋舊文件加到文件的尾部,保留舊文件內(nèi)容。反短斜線使用反短斜線可以將一個(gè)命令的輸出作為另外一個(gè)命令的一個(gè)命令行參數(shù)。命令:find.mtime1typefprint用來(lái)查找過(guò)去24小時(shí)(mtime–2則表示過(guò)去48小時(shí))內(nèi)修改過(guò)的文件。如果您想將所有查找到的文件打一個(gè)包,則可以使用以下腳本:#!binsh#Theticksareba
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- linux下編寫(xiě)c源程序并用編譯運(yùn)行
- linux字符設(shè)備驅(qū)動(dòng)程序編寫(xiě)基本流程
- dep擴(kuò)展腳本編寫(xiě)指南
- linux_bash腳本編程大全
- linux_shell(腳本)編程入門(mén)_實(shí)例講解詳解
- linux基礎(chǔ)
- c#編寫(xiě)聊天程序
- qt編寫(xiě)多窗口程序
- hadoop 上編寫(xiě) mapreduce 程序
- capl程序編寫(xiě)簡(jiǎn)單教程
- linux大作業(yè)課程設(shè)計(jì)說(shuō)明書(shū)-linux unix shell腳本編程
- 學(xué)習(xí)使用c#為unity3d編寫(xiě)腳本
- linux基礎(chǔ)培訓(xùn)
- linux學(xué)習(xí)基礎(chǔ)
- step7程序的編寫(xiě)
- fidic編寫(xiě)的標(biāo)準(zhǔn)招標(biāo)程序
- 注冊(cè)程序及材料編寫(xiě)要求
- 安全專(zhuān)篇編寫(xiě)程序
- linux下串口程序開(kāi)發(fā)
- linux設(shè)備驅(qū)動(dòng)程序
評(píng)論
0/150
提交評(píng)論