第一篇:人人都能學會的企業SHELL編程v2
人人都能學會的SHELL編程
目 錄
1.Shell入門簡介.......................................................................................................2 2.Shell編程之變量詳解...........................................................................................5 3.If條件語句學習.....................................................................................................8 4.使用if條件語句編寫MySQL備份腳本..............................................................10 5.IF條件綜合Shell實戰腳本編寫.......................................................................11 6.循環語句for.........................................................................................................20 7.循環語句while.....................................................................................................22 8.Until循環語句.....................................................................................................23 9.Case選擇語句.......................................................................................................23 10.select選擇語句.................................................................................................25 11.Shell編程函數講解...........................................................................................25 12.Shell數組編程...................................................................................................27 13.Shell編程之awk、sed命令案例分析.............................................................30 14.全備和增量備份Linux系統腳本......................................................................31 15.Shell編程之系統硬件信息數據庫收集...........................................................34 16.Shell編程之磁盤報警高級腳本.......................................................................37 17.Shell編程之服務監控檢查腳本.......................................................................40 18.Shell編程之實戰WEB界面展示一...................................................................40 19.Shell編程之實戰WEB界面展示二...................................................................40 20.Shell編程之學習心得分享及拓展...................................................................40
1.Shell入門簡介
說到Shell編程,我想很多從事Linux運維工作的朋友都不陌生,都對Shell有基本的了解,可能大家剛開始接觸Shell的時候,有各種想法? 能不能不學? 高大上?
到底是浮云?還是神馬?
很難?。?/p>
我想告訴大家的是,大家有這些想法一點都不覺得驚訝,為什么?這些都很正常,對于任何一件事情在未開始之前,肯定會有總總假設,那我今天想說的是,學完人人都會Shell編程后,我們會覺得一切的Shell都是浮云,我們每個人都能很好的使用它,駕馭它,更好的完成我們日常運維的工作。
曾經有人說過,玩Linux不知道Shell,那就是不懂Linux;現在細細品味確實是這樣。為了讓更多的人能接觸Shell、了解Shell,使用Shell,所以今天開設了這樣一個網絡課程,讓我們的Shell飛起來。
好的,其他不多說了,我們正式進入主題,什么是Shell呢? Shell是操作系統的最外層,Shell可以合并編程語言以控制進程和文件,以及啟動和控制其它程序。shell 通過提示您輸入,向操作系統解釋該輸入,然后處理來自操作系統的任何結果輸出來管理您與操作系統之間的交互。簡單來說Shell就是一個用戶跟操作系統之間的一個命令解釋器。
Shell是用戶與Linux操作系統之間溝通的橋梁。用戶可以輸入命令執行,又可以利用 Shell腳本編程去運行。
Linux Shell種類非常多,常見的有:Bourne Shell(/usr/bin/sh或/bin/sh)、Bourne Again Shell(/bin/bash)、C Shell(/usr/bin/csh)、K Shell(/usr/bin/ksh)、Shell for Root(/sbin/sh)等。不同的Shell語言的語法有所不同,所以不能交換使用。
最常用的shell是Bash,也就是Bourne Again Shell,由于易用和免費,Bash在日常工作中被廣泛使用,也是大多數Linux系統默認的Shell。接下來我們來寫一個簡單的shell腳本。(shell腳本一般文件名以.sh結尾,同時文件第一行定義該腳本為shell腳本)vi first_shell.sh #!/bin/bash #This is my First shell echo “Hello World!”
這就是我們的第一個腳本,是不是很簡單呢,注解如下:
#!/bin/bash //表示定義該腳本是一個shell腳本(固定格式)。#This is my First shell //這里的#號屬于注解,沒有任何的意義,SHELL不會解析它。
echo “Hello World!” //shell腳本主命令,我們執行這個腳本講看到: Hello World!信息。
腳本編寫完畢,如何來執行呢,首先執行shell腳本需要執行權限,賦予執行權限:
chmod o+x first_shell.sh 然后./first_shell.sh執行即可;也可以直接使用命令執行: /bin/sh first_shell.sh,顯示效果一樣。2.Shell編程之變量詳解
Shell編程語言是非類型的解釋型語言,不像C++/JAVA語言編程時需要事先聲明變量,SHELL給一個變量賦值,實際上就是定義了變量,在Linux支持的所有shell中,都可以用賦值符號(=)為變量賦值。SHELL變量可分為兩類:局部變量和環境變量。局部變量只在創建它們的shell腳本中使用。而環境變量則可以在創建它們的shell及其派生出來的任意子進程中使用。有些變量是用戶創建的,其他的則是專用shell變量。
例如在腳本里面定義A=123 ,定義這樣一個變量,前面變量名,后面是變量的值。
引用變量可以使用$A,把變量放在腳本里面會出現什么樣的效果呢?如下: #!/bin/bash #Author wugk 2014-06-10 A=123 echo “Printf variables equal is $A” 執行腳本:sh test.sh,結果將會顯示: Printf variables equal is 123 簡單的理解變量,相當于定義一個別名-名稱,引用的時候加上$符號就可以了。
例如定義變量 name=wuguangke 執行echo $name 將會顯示wuguangke SHELL常見的系統變量解析: $0 當前程序的名稱
$n 當前程序的第n個參數,n=1,2,?9 $* 當前程序的所有參數(不包括程序本身)$# 當前程序的參數個數(不包括程序本身)$? 命令或程序執行完后的狀態,一般返回0表示執行成功。$UID 當前用戶的ID $PWD 當前所在的目錄
我們來測試一個常用變量的腳本:vi auto_var.sh #!/bin/bash #auto print variables #by wugk 2014-09 echo-e ' 主站蜘蛛池模板: 国产精品亚洲精品久久精品| 一二三四视频社区在线播放中国| 日韩午夜精品免费理论片| 蜜臀国产在线视频| 用舌头去添高潮无码视频| 欧美老熟妇xb水多毛多| 永久免费的av在线网无码| 丰满无码人妻熟妇无码区| 国产综合无码一区二区辣椒| 猫咪www免费人成网站无码| 97久久精品人人做人人爽| 亚洲精品高清国产一线久久| 中文字幕乱码亚洲无线码| 国产农村妇女毛片精品久久| 亚洲人成色77777| 18禁黄久久久aaa片| 亚洲欧美另类激情综合区蜜芽| 少妇性l交大片欧洲热妇乱xxx| 久久久久国产精品麻豆ar影院| 久久久久久99av无码免费网站| 国产三级久久久精品麻豆三级| 最新亚洲人成无码网www电影| 久久久久亚洲av无码永不| 久久国产欧美日韩精品图片| 中文字幕丰满乱子无码视频| 日韩精品亚洲色大成网站| 欧美颜射内射中出口爆在线| 亚洲成av人片在线播放无码| 精品无码久久久久久久久| 秋霞国产成人精品午夜视频app| 国产av国片精品jk制服| 精品久久久久久无码专区不卡| 九九精品国产亚洲av日韩| 在线亚洲精品国产一区二区| 国产美女裸体无遮挡免费视频高潮| 亚洲一区二区三区四区| 成人片国产精品亚洲| 国产无遮挡又黄又爽免费视频| 欧美巨鞭大战丰满少妇| 国产av天堂亚洲国产av天堂| 日本熟妇色xxxxx日本免费看|