shell編程入門資料

上傳人:fgh****35 文檔編號:248173588 上傳時間:2024-10-22 格式:PPT 頁數(shù):25 大?。?99.50KB
收藏 版權(quán)申訴 舉報 下載
shell編程入門資料_第1頁
第1頁 / 共25頁
shell編程入門資料_第2頁
第2頁 / 共25頁
shell編程入門資料_第3頁
第3頁 / 共25頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《shell編程入門資料》由會員分享,可在線閱讀,更多相關(guān)《shell編程入門資料(25頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、Copyright 2011 by ShenZhen Zyeeda Information Technology Co.,Ltd。,單擊此處添加文本,第二級,第三級,第四級,第五級,單擊此處添加標(biāo)題,Copyright 2011 by ShenZhen Zyeeda Information Technology Co.,Ltd。,Copyright 2011 by ShenZhen Zyeeda Information Technology Co.,Ltd。,單擊此處添加標(biāo)題,單擊此處添加文本,第二級,第三級,第四級,第五級,單擊此處添加標(biāo)題,shell編程入門資料,目錄,課程大綱,shell

2、編程語法,shell腳本調(diào)試,shell應(yīng)用實例,一個簡單的shell程序,第一個簡單的shell程序,$cat example,#!/bin/sh,#This is to show what a example looks like.,echo Our first example,echo#This inserts an empty line in output.,echo We are currently in the following directory.,/bin/pwd,echo,echo This directory contains the following files,/b

3、in/ls,一個簡單的shell程序,shell結(jié)構(gòu),1.#!指定執(zhí)行腳本的shell,2.#注釋行,3.命令和控制結(jié)構(gòu),創(chuàng)建shell程序的步驟:,第一步:創(chuàng)建一個包含命令行和控制結(jié)構(gòu)的文件。,第二步:修改這個文件的權(quán)限使它可以執(zhí)行。使用chmod u+x,第三步:執(zhí)行./example(也可以使用sh example執(zhí)行),Shell變量,Shell變量,變量:是shell傳遞數(shù)據(jù)的一種方法,用來代表每個取值的符號名。,Shell有兩類變量:臨時變量和永久變量,臨時變量,是shell程序內(nèi)部定義的,其使用范圍僅限于定義它的程序,對其他程序不可見。包括:用戶自定義變量、位置變量。永久變量是環(huán)

4、境變量,其值不隨shell腳本的執(zhí)行結(jié)束而消失。,永久變量,echo$PATH 查看環(huán)境變量,echo$LANG 查看語言環(huán)境 空為英文,用戶自定義變量,用戶自定義變量,用戶定義的變量由字母或下劃線開頭,由字母、數(shù)字或下劃線組成,并且大小寫字母意義不同。變量名長度沒有限制。,在使用變量值時,要在變量名前加上前綴$,設(shè)置變量:習(xí)慣上用大寫字母來命名變量。變量只能以字母表中的字符開頭,不能用數(shù)字。,變量賦值:賦值號“=”兩邊應(yīng)沒有空格。,定義時賦值,如NUM=1,將一個命令的執(zhí)行結(jié)果賦值給變量,如:TIME=date,將一個變量賦值給另一個變量,如:A=$B,使用echo命令查看變量值。如:ech

5、o$A,設(shè)置和使用變量,使用單引號和雙引號的區(qū)別,ABC=time is$DATE 這里會打印時間,ABC=time is$DATE 這里會把$DATE打印出來,set 可以查看系統(tǒng)里面已經(jīng)設(shè)置的變量,unset NAME 可以刪除一個變量,位置變量和特殊變量,Shell解釋執(zhí)行用戶命令時,將命令行的第一個部分作為命令名,其他部分作為參數(shù)。由出現(xiàn)在命令行上的位置確定的參數(shù)稱為位置參數(shù),。例如:,ls-l file1 file2 file3,$0 這個程序的文件名,$n 這個程序的第N個參數(shù)值,特殊變量,$*這個程序的所有參數(shù),$#這個程序參數(shù)的個數(shù),$這個程序的PID,$!執(zhí)行上一個后臺命令的

6、PID,$?執(zhí)行上一個命令的返回值 如果為0 說明上個命令執(zhí)行成功,文件備份例子,請看例子,#!/bin/sh,#backup files by date,DATE=/bin/date+%Y%m%d,/bin/tar-cf/backup/$1.$DATE.tar$1 /dev/null 2/backup/$1.bak.log,/bin/gzip/backup/$1.$DATE.tar,if$?-eq 0,then,echo$1$DATE backup successfully /backup/$1.bak.log,else,echo ERROR:failure$1$DATE backup!/b

7、ackup/$1.bak.log,fi,shell命令,read命令:從鍵盤讀入數(shù)據(jù),賦給變量,舉例:#!/bin/sh,read first second,echo the first parameter is$first,echo the second parameter is$second,調(diào)試執(zhí)行 sh-x read 100 200,expr 命令,expr 命令,shell變量的算術(shù)運算 對整數(shù)型變量進(jìn)行運算,expr 3+5 請注意中間是有空格的,乘法注意啦 expr 3*10,復(fù)雜運算:expr expr 5+7/$var4,將結(jié)果賦值:var5=expr$var1/$var2,

8、例如:,#!/bin/bash,a=6,b=4,value1=expr$a-$b,echo the value is$value1,變量測試語句,變量測試語句:用于測試變量是否相等、是否為空、文件類型等,格式:test 測試條件,測試范圍:整數(shù)、字符串、文件,test str1=str2 測試是否相等,test str1!=str2,不相等,test-e file 是否存在,test-f file 是否為文件,test-d file 是否為目錄,test int1-gt int2 int1是否大于等于int2,apache是否啟動,例子 web服務(wù)器是否啟動,如果沒有則啟動,輸入 pgrep

9、httpd 什么信息都沒有 說明apache沒有啟動,啟動:/etc/rc.d/init.d/httpd start,關(guān)閉:pkill httpd,主要腳本,web=/usr/bin/pgrep httpd,if$web=,then,/etc/rc.d/init.d/httpd start,fi,流程控制語句,if else語句,if,-d$file_name,then,echo,is de,elif -f$file_name,then,echo,is file,else,echo,exit 0,#正常退出,fi,-a:邏輯與 -o:邏輯或,for循環(huán),看看就知道,for DAY in sun

10、day monday tuesday,do,echo the day is:$DAY,done,awk 命令應(yīng)用,awk-F 域分隔符 命令 分段提取,不叫F 默認(rèn)為空格,如 awk-F:,$3=0 print$1/etc/passwd,awk-F:,length($2)=0 print$1/etc/shadow,踢出用戶,#!/bin/sh,#The script to kill logined user.,username=$1,/bin/ps aux|/bin/grep$username|/bin/awk print$2 /tmp/temp.pid,killid=cat/tmp/temp

11、.pid,for PID in$killid,do,/bin/kill-9$PID 2/dev/null,done,select 循環(huán)語句,case控制語句,select var in Linux Unix Windows,do,break,done,echo You have selected$var,read op,case$op in,C),echo,;,D),echo,;,*),echo invalide selection,esac,while 語句,while -d/etc,do,ls-ld/etc,break,done,例子:1-10 每個數(shù)的平方,num=1,while$num

12、-le 10,do SUM=expr$num*$num,echo$SUM,num=expr$num+1,done,批量添加用戶,添加用戶,echo 123456|/usr/bin/passwd-stdin shedon 把密碼123456 導(dǎo)入 shedon用戶,echo please input username:,read name,echo please input number:,read num,n=1,while$n-le$num,do/uer/sbin/useradd$name$n,n=expr$n+1,done,刪除用戶/usr/sbin/userdel-r$name$sum,

13、until 語句,until 語句,判斷是否可執(zhí)行 肯定是假咯,until -x/etc/inittab,do,/bin/ls-l/etc/inittab,exit 0,done,break 和 continue 跟java里面差不多,|邏輯或,.|.,shift指定,shift指定 每執(zhí)行一次參數(shù)向前移一位,eg:累加求和,if$#-le 0,then,echo Not enough parameters,exit 0,fi,sum=0,while$#-gt 0,do,sum=expr$sum+$1,shift,done,echo$sum,函數(shù)應(yīng)用,函數(shù)應(yīng)用 使可讀性更強,函數(shù)中的變量均為全

14、局變量,沒有局部變量,HELP(),echo Usage:sh function$1$2$3,if$#-ne 3,then,HELP,else,echo,fi,調(diào)試,調(diào)試,sh-x script,這將執(zhí)行該腳本并顯示所有變量的值,sh-n script,不執(zhí)行腳本只是檢查語法的模式,將返回所有語法錯誤 如果什么都沒有 則說明格式?jīng)]問題,執(zhí)行腳本應(yīng)有權(quán)限,su-test 切換到test 用戶,chmod o-rx/script 將script其他人去掉rx權(quán)限,sh 腳本,必須,1.對腳本有r權(quán)限 2.對腳本所在目錄有rx權(quán)限,逐行讀取 再比較,for file in/bin/cat/tmp/setuid.check,do,/bin/grep$file/backup/setuid.list /dev/null,if$?!=0,then,echo$file isnt in list,fi,done,地址:,深圳市羅湖區(qū)深南東路2105號中建大廈701室,電話:,+86-0755-26966586,傳真:,+86-0755-26966586-802,網(wǎng)站:,郵編:,518001,THANKS,

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

相關(guān)資源

更多
正為您匹配相似的精品文檔

相關(guān)搜索

關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!