linux課程資源Shell腳本基礎_第1頁
linux課程資源Shell腳本基礎_第2頁
linux課程資源Shell腳本基礎_第3頁
linux課程資源Shell腳本基礎_第4頁
linux課程資源Shell腳本基礎_第5頁
已閱讀5頁,還剩16頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、Network Optimization Expert TeamNetwork Optimization Expert Team2.5 Linux 進程及作業管理Network Optimization Expert Team2.5.1 Bash Shell基礎 Shell也是Unix/Linux最重要的軟件之一,Shell提供了用戶與操作系統之間通訊的方式。這種通訊可以以交互方式,也可以Shell 腳本(非交互)方式執行。Shell腳本是存放在文件中的一串Shell和操作系統命令,Shell腳本可以被重復使用Network Optimization Expert Team常見的Shell B

2、ourne Shell是由Steven Bourne 編寫的,是Unix的默認的Shell。Bourne Shell的Shell編程能力很強。但不能處理基于命令的用戶交互模式。bash Shell是Bourne Shell的增強版 C shell是由加利福尼亞大學伯克利分校的Bill Joy編寫,能提供Bourne Shell所不能處理的用戶交互模式,比如命令補全、命令別名、歷史命令替換等等。C Shell的編程能力不如Bourne shell,但其語法和C語言類似,所以C程序員將發現C Shell很順手 Korn Shell是由Dave Korn 編寫的。Korn shell融合了C She

3、ll和Bourne Shell的優點,并和Bourne shell完全兼容。Korn shell的效率很高,其命令交互界面和編程交互界面都很不錯Network Optimization Expert Teambash Shell 命令列表 使用分號隔開 使用&條件隔開 使用|條件隔開rootsrv # cd /boot;llrootsrv # service atd restart & chkconfig atd onrootsrv # cd /bot | mkdir /botNetwork Optimization Expert Teambash Shell 在子Shell中

4、運行命令 命令別名 命令替換 大括號替換 變量替換 算術替換 命令替換rootsrv # (cd /boot; ll)rootsrv # alias h=head rootsrv # mkdir -p 24/Season1,2,3,4,5,6,7,8rootsrv # echo $( $PRICE * NUMBER )rootsrv # mkdir reports.$(date +%d%b%y)Network Optimization Expert Team標準輸入/輸出 在Linux系統中,輸入流被稱做標準輸入(STDIN,文件編號0);輸出流有二種,標準輸出(STDOUT,文件編號1)、標

5、準錯誤(STDERR,文件編號2),標準輸出是終端程序執行后輸出的正確結果Network Optimization Expert Team標準輸入/輸出 標準輸出重定向 使用“”將輸出寫入文件,如果指定的文件已存在將會刪除文件中原有的內容 使用“”將輸出追加到文件,如果指定的文件已存在將會把輸出附加到文件中 標準錯誤重定向 使用“2”將輸出寫入文件,如果指定的文件已存在將會刪除文件中原有的內容 使用“2”將輸出追加到文件,如果指定的文件已存在將會把輸出附加到文件中 標準輸入重定向 bash Shell可以使用“”將命令中接收標準輸入的途徑由默認的鍵盤改為指定的文件Network Optimiz

6、ation Expert Team管道 管道功能只需在前一個命令和后一個命令中間使用“|”分隔,這樣前一個命令的輸出就會成為后一個命令的輸入rootsrv # netstat -tunlp | grep httpdrootsrv # grep -v # /boot/grub/grub.conf | grep -v $rootsrv # ll | head -n 10 | tail -n 3Network Optimization Expert Team2.5.2 正則表達式 正則表達式,又稱正規表示法、常規表示法,計算機科學的一個概念。正則表達式使用單個字符串來描述、匹配一系列符合某個句法規則

7、的字符串。在很多文本編輯器里,正則表達式通常被用來檢索、替換那些符合某個模式的文本。Network Optimization Expert Team正則表達式 正則表達式應用實例應用 1.驗證用戶名和密碼:(a-zA-Zw5,15$)正確格式:A-Za-z_0-9組成,并且第一個字必須為字母616位; 2.驗證電話號碼:((d3,4-)d7,8$)正確格式:xxx/xxxx-xxxxxxx/xxxxxxxx; 3.驗證手機號碼:13|4|5|7|80-9d8$; 4.驗證身份證號(15位或18位數字):d140-9,0-9xX; 5.驗證Email地址:(w+(-+.w+)*w+(-.w+)*

8、.w+(-.w+)*$); 6.只能輸入由數字和26個英文字母組成的字符串:(A-Za-z0-9+$) ; 7.整數或者小數:0-9+(.0-9+)0,1$Network Optimization Expert Team2.5.3 高級文本處理命令 sort命令的功能是對文件中的各行進行排序。 語法: sort 選項 文件 說明:sort命令對指定文件中所有的行進行排序,并將結果顯示在標準輸出上。如不指定輸入文件或使用“- ”,則表示排序內容來自標準輸入。 sort排序是根據從輸入行抽取的一個或多個關鍵字進行比較來完成的。排序關鍵字定義了用來排序的最小的字符序列。缺省情況下以整行為關鍵字按AS

9、CII字符順序進行排序。Network Optimization Expert Team - m 若給定文件已排好序,合并文件。 - c 檢查給定文件是否已排好序,如果它們沒有都排好序,則打印一個出錯信息,并以狀態值1退出。 - u 對排序后認為相同的行只留其中一行。 - o 輸出文件 將排序輸出寫到輸出文件中而不是標準輸出,如果輸出文件是輸入文件之一,sort先將該文件的內容寫入一個臨時文件,然后再排序和寫輸出結果。 改變缺省排序規則的選項主要有: - d 按字典順序排序,比較時僅字母、數字、空格和制表符有意義。 - f 將小寫字母與大寫字母同等對待。 - I 忽略非打印字符。 - M 作為

10、月份比較:“JAN” - r 按逆序輸出排序結果。Network Optimization Expert Team2.5.4 Shell腳本 Shell腳本并不是一個復雜的程序語言,其按行解釋的。 雖然在Linux中擴展名并沒有實際的作用但一般為了方便閱讀,bash Shell的腳本文件一般使用“sh”作為擴展名。 一行中“#”之后的內容表示是注釋,注釋在執行過程中將被忽略。 在Shell腳本文件的第一行應該指定向哪個解釋器發送指令,目前在RHEL5中默認使用bash Shell,所以第一行應該是“#!/bin/sh”。 在執行已編寫好的腳本時可以使用二種方式:對于有執行權限的腳本文件可以使用

11、“./”的方式執行;對于沒有執行權限的腳本文件可以使用“sh ”的方式執行。 Linux系統中每個進程都是有壽命的Network Optimization Expert TeamShell腳本 變量 局部變量 環境變量rootsrv # strA=ctu rootsrv # strB=dod rootsrv # echo $strArootsrv # export strANetwork Optimization Expert TeamShell腳本 向腳本傳遞參數 在腳本中可以使用“$1”接受傳遞給腳本的第一個參數、使用“$2”接受傳遞給腳本的第二個參數,除了可以獲得每個參數值以外,還可以使

12、用“$*”接受所有的參數、使用“$0”獲取當前腳本的名稱、使用“$#”獲取傳遞給腳本的參數個數、使用“$”獲取當前腳本運行的PIDrootsrv # cat sh2.sh#!/bin/shecho Script Name Is:$0echo First Variable:$1echo Second Variable:$2echo Tertiary Variable:$3echo All Variable:$*Network Optimization Expert TeamShell腳本 條件測試 字符串測試 數值測試 文件狀態測試 邏輯操作符Network Optimization Exper

13、t TeamShell腳本 判斷結構if ; then #當條件為真時執行的內容當條件為真時執行的內容fiif ; then # #當條件為真時執行的內容當條件為真時執行的內容else # #當條件為假時執行的內容當條件為假時執行的內容fiif ; then # #當條件當條件1 1為真時執行的內容為真時執行的內容elif ; then # #當條件當條件2 2為真時執行的內容為真時執行的內容else # #當條件當條件1 1和條件和條件2 2為假時執行的內容為假時執行的內容fiNetwork Optimization Expert TeamShell腳本 多選擇語句case 值值 in模式模式1)1)# #當符合模式當符合模式1 1時執行的內容時執行的內容; ;模式模式2)2)# #當符合模式當符合模式2 2時執行的內容時執行的內容; ;. . .; ;esacNetwork Optimization Expert TeamShell腳本 循環結構while 條件條件do循環體循環體doneuntil 條件條件do循環體循環體donefor (初始值初始值; ;限制值限制值; ;步長步長

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論