Linux系統(tǒng)管理與服務(wù)H217_第1頁
Linux系統(tǒng)管理與服務(wù)H217_第2頁
Linux系統(tǒng)管理與服務(wù)H217_第3頁
Linux系統(tǒng)管理與服務(wù)H217_第4頁
Linux系統(tǒng)管理與服務(wù)H217_第5頁
已閱讀5頁,還剩42頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、1第十七章 Shell腳本編程 理論部分理論部分2 iptables默認(rèn)包括哪些表、鏈?默認(rèn)包括哪些表、鏈? 對(duì)于入站數(shù)據(jù)訪問,會(huì)經(jīng)過哪些表、鏈進(jìn)行處理?對(duì)于入站數(shù)據(jù)訪問,會(huì)經(jīng)過哪些表、鏈進(jìn)行處理?課程回顧3 掌握掌握Shell腳本的基礎(chǔ)知識(shí)腳本的基礎(chǔ)知識(shí) 學(xué)會(huì)使用學(xué)會(huì)使用Shell變量變量 學(xué)會(huì)編寫簡單的學(xué)會(huì)編寫簡單的Shell腳本腳本 學(xué)會(huì)常見的條件測試操作學(xué)會(huì)常見的條件測試操作 學(xué)會(huì)使用學(xué)會(huì)使用if條件語句條件語句 學(xué)會(huì)使用學(xué)會(huì)使用for、while循環(huán)語句循環(huán)語句 學(xué)會(huì)使用學(xué)會(huì)使用case分支語句分支語句技能展示4 用戶的登錄用戶的登錄Shellu 登錄后默認(rèn)使用的Shell程序,一般

2、為 /bin/bashu 不同Shell的內(nèi)部指令、運(yùn)行環(huán)境等會(huì)有所區(qū)別Shell的作用2-2rootlocalhost # cat /etc/shells/bin/sh/bin/bash/sbin/nologin/bin/tcsh/bin/csh/bin/ksh5 編寫腳本代碼編寫腳本代碼u 使用vi文本編輯器u 每行一條Linux命令,按執(zhí)行順序依次編寫編寫第一個(gè)Shell腳本4-1rootlocalhost # vi first.shcd /boot/pwdls -lh vml*6 賦予可執(zhí)行權(quán)限賦予可執(zhí)行權(quán)限u 使腳本具有可執(zhí)行屬性編寫第一個(gè)Shell腳本4-2rootlocalhos

3、t # chmod +x first.shrootlocalhost # ls -l first.sh-rwxr-xr-x 1 root root 144 04-26 15:02 first.sh7 執(zhí)行腳本文件執(zhí)行腳本文件u 方法一:腳本文件路徑u 方法二:sh 腳本文件路徑u 方法三:source 腳本文件路徑編寫第一個(gè)Shell腳本4-3rootlocalhost # ./first.sh/boot-rw-r-r- 1 root root 1.8M 2010-03-17 vmlinuz-2.6.18-194.el5必須有必須有 x x 權(quán)限權(quán)限r(nóng)ootlocalhost # sh /fi

4、rst.sh/boot-rw-r-r- 1 root root 1.8M 2010-03-17 vmlinuz-2.6.18-194.el5rootlocalhost # source /first.sh/boot-rw-r-r- 1 root root 1.8M 2010-03-17 vmlinuz-2.6.18-194.el5不要求不要求 x x 權(quán)限權(quán)限8 更完善的腳本構(gòu)成更完善的腳本構(gòu)成u 腳本聲明u 注釋信息u 可執(zhí)行語句編寫第一個(gè)Shell腳本4-4rootlocalhost # vi /first.sh#!/bin/bash# This is my first Shell-Scr

5、ipt.cd /bootecho 當(dāng)前的目錄位于:pwdecho 其中以vml開頭的文件包括:ls -lh vml*輸出友好提示信息輸出友好提示信息9 交互式硬件設(shè)備交互式硬件設(shè)備u 標(biāo)準(zhǔn)輸入:從該設(shè)備接收用戶輸入的數(shù)據(jù)u 標(biāo)準(zhǔn)輸出:通過該設(shè)備向用戶輸出數(shù)據(jù)u 標(biāo)準(zhǔn)錯(cuò)誤:通過該設(shè)備報(bào)告執(zhí)行出錯(cuò)信息重定向與管道操作3-1類型類型設(shè)備文件設(shè)備文件文件描述編號(hào)文件描述編號(hào)默認(rèn)設(shè)備默認(rèn)設(shè)備標(biāo)準(zhǔn)輸入標(biāo)準(zhǔn)輸入/dev/stdin/dev/stdin0 0鍵盤鍵盤標(biāo)準(zhǔn)輸出標(biāo)準(zhǔn)輸出/dev/stdout/dev/stdout1 1顯示器顯示器標(biāo)準(zhǔn)錯(cuò)誤輸出標(biāo)準(zhǔn)錯(cuò)誤輸出/dev/stderr/dev/stderr

6、2 2顯示器顯示器10 重定向操作重定向操作重定向與管道操作3-2類型類型操作符操作符用途用途重定向輸入重定向輸入 將輸出結(jié)果保存到指定的文件(覆蓋原有內(nèi)容)將輸出結(jié)果保存到指定的文件(覆蓋原有內(nèi)容)將輸出結(jié)果追加到指定的文件將輸出結(jié)果追加到指定的文件 標(biāo)準(zhǔn)錯(cuò)誤輸出標(biāo)準(zhǔn)錯(cuò)誤輸出22將錯(cuò)誤信息保存到指定的文件(覆蓋原有內(nèi)容)將錯(cuò)誤信息保存到指定的文件(覆蓋原有內(nèi)容)22將錯(cuò)誤信息追加到指定的文件中將錯(cuò)誤信息追加到指定的文件中混合輸出混合輸出&將標(biāo)準(zhǔn)輸出、標(biāo)準(zhǔn)錯(cuò)誤的內(nèi)容保存到同一個(gè)文件中將標(biāo)準(zhǔn)輸出、標(biāo)準(zhǔn)錯(cuò)誤的內(nèi)容保存到同一個(gè)文件中11 管道操作符號(hào)管道操作符號(hào)“|”u 將左側(cè)的命令輸出結(jié)果,作為右

7、側(cè)命令的處理對(duì)象u 格式:cmd1 | cmd2 . | cmdn重定向與管道操作3-3rootlocalhost # grep bash$ /etc/passwdroot:x:0:0:root:/root:/bin/bashteacher:x:500:500:BENET Linux Teacher:/home/teacher:/bin/bashrootlocalhost # grep “bash$” /etc/passwd | awk -F: print $1,$7 root /bin/bashteacher /bin/bash以冒號(hào)以冒號(hào): :分隔,輸出第分隔,輸出第1 1、7 7個(gè)字段個(gè)

8、字段12 請思考:請思考:u 如何編寫并執(zhí)行一個(gè)Shell腳本文件?u 有哪幾種重定向操作,各自的操作符號(hào)是什么?u 管道操作符號(hào)“|”的用途是什么?小結(jié)13 變量的作用變量的作用u 為靈活管理Linux系統(tǒng)提供特定參數(shù),有兩層意思:n 變量名:使用固定的名稱,由系統(tǒng)預(yù)設(shè)或用戶定義n 變量值:能夠根據(jù)用戶設(shè)置、系統(tǒng)環(huán)境的變化而變化 變量的類型變量的類型u 自定義變量:由用戶自己定義、修改和使用u 環(huán)境變量:由系統(tǒng)維護(hù),用于設(shè)置工作環(huán)境u 位置變量:通過命令行給腳本程序傳遞參數(shù)u 預(yù)定義變量:Bash中內(nèi)置的一類變量,不能直接修改Shell變量的作用、類型14 定義一個(gè)新的變量定義一個(gè)新的變量u

9、 格式:變量名=變量值u 變量名以字母或下劃線開頭,區(qū)分大小寫,建議全大寫 查看變量的值查看變量的值u 格式:echo $變量名自定義變量4-1rootlocalhost # Product=Benetrootlocalhost # Version=4.0rootlocalhost # echo $ProductBenetrootlocalhost # echo $Product $VersionBenet 4.015 賦值時(shí)使用引號(hào)賦值時(shí)使用引號(hào)u 雙引號(hào):允許通過$符號(hào)引用其他變量值u 單引號(hào):禁止引用其他變量值,$視為普通字符u 反撇號(hào):命令替換,提取命令執(zhí)行后的輸出結(jié)果 從鍵盤輸入內(nèi)容

10、為變量賦值從鍵盤輸入內(nèi)容為變量賦值u 格式: read -p 提示信息 變量名自定義變量4-216 設(shè)置變量的作用范圍設(shè)置變量的作用范圍u 格式1:export 變量名 .u 格式2: export 變量名=變量值 .u 兩種格式可以混合使用自定義變量4-3rootlocalhost # echo $Product $VersionBenet 4.0rootlocalhost # export Product Versionrootlocalhost # bashrootlocalhost # echo $Product $VersionBenet 4.0rootlocalhost # exi

11、t導(dǎo)出為全局變量導(dǎo)出為全局變量子程序引用全局變量子程序引用全局變量17 整數(shù)變量的運(yùn)算整數(shù)變量的運(yùn)算u 格式:expr 變量1 運(yùn)算符 變量2 運(yùn)算符 變量3 . 常用運(yùn)算符常用運(yùn)算符u 加法運(yùn)算:+u 減法運(yùn)算: -u 乘法運(yùn)算: *u 除法運(yùn)算: /u 求模(取余)運(yùn)算: % 自定義變量4-418 環(huán)境變量環(huán)境變量u 由系統(tǒng)提前創(chuàng)建,用來設(shè)置用戶的工作環(huán)境u 配置文件: /etc/profile、/.bash_profile 常見的環(huán)境變量:常見的環(huán)境變量:u PWD、PATHu USER 、LOGNAME、UID、SHELL、HOMEu PS1、$PS2特殊的Shell變量3-1root

12、localhost # echo $PATH/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/binrootlocalhost # PATH=$PATH:/root rootlocalhost # echo $PATH/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/roo

13、t19 位置變量位置變量u 表示為 $n,n為19之間的數(shù)字rootlocalhost # ./myprog.sh one two three four five six特殊的Shell變量3-2$1$1,第,第1 1個(gè)位置參數(shù)個(gè)位置參數(shù)$2$2,第,第2 2個(gè)位置參數(shù)個(gè)位置參數(shù)$6$6,第,第6 6個(gè)位置參數(shù)個(gè)位置參數(shù)20 預(yù)定義變量預(yù)定義變量u $#:命令行中位置變量的個(gè)數(shù)u $*:所有位置變量的內(nèi)容u $?:上一條命令執(zhí)行后返回的狀態(tài),當(dāng)返回狀態(tài)值為0時(shí)表示執(zhí)行正常,非0值表示執(zhí)行異?;虺鲥e(cuò)u $0:當(dāng)前執(zhí)行的進(jìn)程/程序名特殊的Shell變量3-3rootlocalhost # cat

14、mybak.sh#!/bin/bashTARFILE=beifen-date +%s.tgztar zcf $TARFILE $* & /dev/nullecho 已執(zhí)行 $0 腳本,echo 共完成 $# 個(gè)對(duì)象的備份echo “具體內(nèi)容包括: $*” rootlocalhost # ./mybak.sh /etc/passwd /etc/shadow 已執(zhí)行 ./mybak.sh 腳本,共完成 2 個(gè)對(duì)象的備份具體包括:/etc/passwd /etc/shadow21 腳本應(yīng)用思路腳本應(yīng)用思路u 1. 確定命令操作(設(shè)計(jì)并執(zhí)行任務(wù))u 2. 編寫Shell腳本(組織任務(wù)過程)u 3. 設(shè)

15、置計(jì)劃任務(wù)(控制時(shí)間,調(diào)用任務(wù)腳本)Shell腳本與計(jì)劃任務(wù)rootlocalhost # mysqldump -u operator rootlocalhost # vi /opt/qnzx_dbbak/qnzx_dbbak.sh#!/bin/bashrootlocalhost # crontab -e30 2 * * * /opt/qnzx_dbbak/qnzx_dbbak.sh22 test命令命令u 測試特定的表達(dá)式是否成立,當(dāng)條件成立時(shí),測試語句的返回值為0,否則為其他數(shù)值u 格式1:test 條件表達(dá)式u 格式2: 條件表達(dá)式 條件測試操作5-1至少應(yīng)有一個(gè)空格至少應(yīng)有一個(gè)空格23

16、 文件測試文件測試u 格式: 操作符 文件或目錄 常用的測試操作符常用的測試操作符u -d:測試是否為目錄(Directory)u -e:測試目錄或文件是否存在(Exist)u -f:測試是否為文件(File)u -r:測試當(dāng)前用戶是否有權(quán)限讀取(Read)u -w:測試當(dāng)前用戶是否有權(quán)限寫入(Write)u -x:測試當(dāng)前用戶是否有權(quán)限執(zhí)行(eXcute)條件測試操作5-2rootlocalhost # -d /etc/vsftpd rootlocalhost # echo $?0rootlocalhost # -d /etc/hosts rootlocalhost # echo $?1ro

17、otlocalhost # -e /media/cdrom & echo YESYES 返回返回0 0表示條件成立表示條件成立返回返回1 1表示條件不成立表示條件不成立邏輯與,邏輯與,“而且而且”的意思的意思24 整數(shù)值比較整數(shù)值比較u 格式: 整數(shù)1 操作符 整數(shù)2 常用的測試操作符常用的測試操作符u -eq:等于(Equal)u -ne:不等于(Not Equal)u -gt:大于(Greater Than)u -lt:小于(Lesser Than)u -le:小于或等于(Lesser or Equal)u -ge:大于或等于(Greater or Equal)條件測試操作5-3rootl

18、ocalhost # who | wc -l7rootlocalhost # $(who | wc -l) -gt 5 & echo Too many. Too many.rootlocalhost # $(who | wc -l) -ge 10 & echo = 10.用戶數(shù)是否用戶數(shù)是否 5 5用戶數(shù)是否用戶數(shù)是否 = 10= 10rootlocalhost # FreeCC=$(free -m | grep cache: | awk print $4)rootlocalhost # $FreeCC -lt 1024 & echo $FreeCCMB864MB空閑內(nèi)存是否空閑內(nèi)存是否 10

19、24MB80% then 報(bào)警fiif 條件測試操作命令序列 fi 結(jié)束判斷條件成立 then條件不成立29 雙分支結(jié)構(gòu)雙分支結(jié)構(gòu)if語句的結(jié)構(gòu)3-2if 條件測試操作 then 命令序列1 else 命令序列2fiif 80端口是否在監(jiān)聽 then 網(wǎng)站服務(wù)已在運(yùn)行 else 啟動(dòng)httpd服務(wù)fiif 條件測試操作命令序列1 條件成立 then命令序列2 條件不成立 elsefi 結(jié)束判斷30 多分支結(jié)構(gòu)多分支結(jié)構(gòu)if語句的結(jié)構(gòu)3-3if 條件測試操作1 then 命令序列1elif 條件測試操作2 then 命令序列2else 命令序列3fiif 分?jǐn)?shù)為85100之間 then 判為優(yōu)秀

20、elif 分?jǐn)?shù)為7084之間 then 判為合格esle 判為不合格fiif 條件測試操作1命令序列1 條件成立 then命令序列n 條件不成立 elseelif 條件測試操作2命令序列2 條件成立 thenfi 結(jié)束判斷31 單分支單分支if語句語句u 判斷掛載點(diǎn)目錄,若不存在則自動(dòng)創(chuàng)建if語句應(yīng)用示例3-1rootlocalhost # cat chkmountdir.sh#!/bin/bashMOUNT_DIR=/media/cdrom/if ! -d $MOUNT_DIR then mkdir -p $MOUNT_DIRfi當(dāng)目錄不存在時(shí)執(zhí)行當(dāng)目錄不存在時(shí)執(zhí)行rootlocalhost

21、 # ls -ld /media/cdrom/ls: /media/cdrom/: 沒有那個(gè)文件或目錄rootlocalhost # ./chkmountdir.shrootlocalhost # ls -ld /media/cdrom/drwxr-xr-x 2 root root 4096 05-05 07:18 /media/cdrom/32 雙分支雙分支if語句語句u 判斷目標(biāo)主機(jī)是否存活,顯示檢測結(jié)果if語句應(yīng)用示例3-2rootlocalhost # cat pinghost.sh#!/bin/bashping -c 3 -i 0.2 -W 3 $1 & /dev/nullif $?

22、 -eq 0 then echo Host $1 is up.else echo Host $1 is down.fi判斷判斷pingping命令的檢測結(jié)果,命令的檢測結(jié)果,分別給出不同提示分別給出不同提示rootlocalhost # ./pinghost.sh 1Host 1 is up.rootlocalhost # ./pinghost.sh 3Host 3 is down.33 多分支多分支if語句語句u 判斷分?jǐn)?shù)范圍,分出優(yōu)秀、合格、不合格三檔if語句應(yīng)用示例3-3rootlocalhost #

23、 cat gradediv.sh#!/bin/bashread -p 請輸入您的分?jǐn)?shù)(0-100): GRADEif $GRADE -ge 85 & $GRADE -le 100 ; then echo $GRADE 分!優(yōu)秀elif $GRADE -ge 70 & $GRADE -le 84 ; then echo $GRADE 分,合格else echo $GRADE 分?不合格”fi判斷分?jǐn)?shù)所在區(qū)間,給出不判斷分?jǐn)?shù)所在區(qū)間,給出不同的分檔結(jié)果同的分檔結(jié)果rootlocalhost # ./gradediv.sh請輸入您的分?jǐn)?shù)(0-100):8989 分!優(yōu)秀34 讀取不同的變量值,用來逐

24、個(gè)執(zhí)行同一組命令讀取不同的變量值,用來逐個(gè)執(zhí)行同一組命令for語句的結(jié)構(gòu)for 變量名 in 取值列表do 命令序列donefor 收件人 in 郵件地址列表do 發(fā)送郵件donefor 變量=取值1取值1取值2取值ndone 結(jié)束循環(huán)do 命令序列取值n 已使用35 批量添加用戶批量添加用戶u 用戶名存放在users.txt文件中,每行一個(gè)u 初始密碼均設(shè)為123456for語句應(yīng)用示例2-1rootlocalhost # cat /root/users.txtchenyedengchaozhangjierootlocalhost # cat uaddfor.sh#!/bin/bashULI

25、ST=$(cat /root/users.txt)for UNAME in $ULISTdo useradd $UNAME echo 123456 | passwd -stdin $UNAMEdone通過管道指定密碼字串通過管道指定密碼字串從列表文件讀取用戶名從列表文件讀取用戶名rootlocalhost # ./uaddfor.shrootlocalhost # tail -3 /etc/passwdchenye:x:1011:1011:/home/chenye:/bin/bashdengchao:x:1012:1012:/home/dengchao:/bin/bashzhangjie:x:

26、1013:1013:/home/zhangjie:/bin/bash36 根據(jù)根據(jù)IP地址檢查主機(jī)狀態(tài)地址檢查主機(jī)狀態(tài)u IP地址存放在ipadds.txt文件中,每行一個(gè)u 使用ping命令檢測各主機(jī)的連通性for語句應(yīng)用示例2-2rootlocalhost # cat /root/ipadds.txt11020rootlocalhost # cat chkhosts.sh#!/bin/bashHLIST=$(cat /root/ipadds.txt)for IP in $HLISTdo ping -c 3 -i 0.2 -W

27、 3 $1 & /dev/null if $? -eq 0 ; then echo Host $IP is up. else echo Host $IP is down. fidone嵌套嵌套ifif語句判斷連通性語句判斷連通性從列表文件讀取從列表文件讀取IPIP地址地址rootlocalhost # ./chkhosts.shHost 1 is up.Host 10 is down.Host 20 is up.37 重復(fù)測試某個(gè)條件,只要條件成立則反復(fù)執(zhí)行重復(fù)測試某個(gè)條件,只要條件成立則反復(fù)執(zhí)行while語句的結(jié)構(gòu)while

28、條件測試操作do 命令序列donewhile 未猜中正確價(jià)格do 反復(fù)猜測商品價(jià)格donewhile 條件測試操作done 結(jié)束循環(huán)do 命令序列 條件成立條件不成立38 批量添加用戶批量添加用戶u 用戶名稱以stu開頭,按數(shù)字順序進(jìn)行編號(hào)u 一共添加20個(gè)用戶,即stu1、stu2、stu20u 初始密碼均設(shè)為123456While語句應(yīng)用示例2-1rootlocalhost # cat uaddwhile.sh#!/bin/bashPREFIX=stui=1while $i -le 20 do useradd $PREFIX$i echo 123456 | passwd -stdin $P

29、REFIX$i & /dev/null let i+done序號(hào)遞增,避免死循環(huán)序號(hào)遞增,避免死循環(huán)循環(huán)條件:序號(hào)循環(huán)條件:序號(hào)=20=20rootlocalhost # ./uaddwhile.shrootlocalhost # grep stu /etc/passwd | tail -3stu18:x:1028:1028:/home/stu18:/bin/bashstu19:x:1029:1029:/home/stu19:/bin/bashstu20:x:1030:1030:/home/stu20:/bin/bash39 猜商品價(jià)格游戲猜商品價(jià)格游戲u 通過變量RANDOM獲得隨機(jī)數(shù)u 提

30、示用戶猜測并記錄次數(shù),猜中后退出循環(huán)While語句應(yīng)用示例2-2rootlocalhost # vi pricegame.sh#!/bin/bashPRICE=$(expr $RANDOM % 1000)TIMES=0echo 商品實(shí)際價(jià)格為0-999之間,猜猜看是多少?while truedo read -p 請輸入你猜測的價(jià)格數(shù)目: INT let TIMES+ if $INT -eq $PRICE ; then echo 恭喜你答對(duì)了,實(shí)際價(jià)格是 $PRICE echo 你總共猜測了 $TIMES 次 exit 0 elif $INT -gt $PRICE ; then echo 太高了

31、! else echo 太低了! fidone與實(shí)際價(jià)格比較,給出提示與實(shí)際價(jià)格比較,給出提示循環(huán)條件:循環(huán)條件:tureture若猜中則退出腳本若猜中則退出腳本提示猜測并記錄次數(shù)提示猜測并記錄次數(shù)rootlocalhost # ./pricegame.sh商品實(shí)際價(jià)格為0-999之間,猜猜看是多少?請輸入你猜測的價(jià)格數(shù)目:500太高了!請輸入你猜測的價(jià)格數(shù)目:250太低了!請輸入你猜測的價(jià)格數(shù)目:375太高了!請輸入你猜測的價(jià)格數(shù)目:280太高了!請輸入你猜測的價(jià)格數(shù)目:265太高了!請輸入你猜測的價(jià)格數(shù)目:253恭喜你答對(duì)了,實(shí)際價(jià)格是 253你總共猜測了 6 次40 請思考:請思考:u

32、for、while都能批量添加用戶,兩者有哪些區(qū)別?u for循環(huán)使用的取值列表如何獲得?u 如何避免while語句陷入死循環(huán)?小結(jié)41 針對(duì)變量的不同取值,分別執(zhí)行不同的命令序列針對(duì)變量的不同取值,分別執(zhí)行不同的命令序列 case語句的結(jié)構(gòu)case 變量值 in模式1) 命令序列1 ;模式2) 命令序列2 ;* ) 默認(rèn)命令序列esaccase 控制指令 instart) 啟動(dòng)XX服務(wù) ;stop) 停止XX服務(wù) ;* ) 顯示服務(wù)腳本的用法esaccase 變量=模式1esac 結(jié)束分支命令序列1;有變量=模式2變量=其他值(*)默認(rèn)命令序列無是否否命令序列2;有無是42 擊鍵類型識(shí)別擊鍵

33、類型識(shí)別u 提示用戶輸入一個(gè)字符u 判斷出該字符是字母、數(shù)字或者其他字符case語句應(yīng)用示例2-1rootlocalhost # cat hitkey.sh#!/bin/bashread -p 請輸入一個(gè)字符,并按Enter鍵確認(rèn): KEYcase $KEY in a-z|A-Z) echo 您輸入的是 字母。 ; 0-9) echo 您輸入的是 數(shù)字。 ; *) echo 您輸入的是 空格、功能鍵或其他控制字符。esac匹配小寫或大寫字母匹配小寫或大寫字母匹配數(shù)字匹配數(shù)字0-90-9rootlocalhost # ./hitkey.sh請輸入一個(gè)字符,并按Enter鍵確認(rèn):k您輸入的是 字母 k 。rootlocalhost # ./hitkey.sh請輸入一個(gè)字符,并按Enter鍵確認(rèn):8您輸入的是 數(shù)字 8 。rootlocalhost # ./hitkey.sh請輸入一個(gè)字符,并按Enter鍵確認(rèn):19您輸入的是 空格、功能鍵或其他控制字符。按功能鍵按功能鍵F8F843 編寫系統(tǒng)服務(wù)腳本編寫系統(tǒng)服務(wù)腳本u 使用start、stop、restart等參數(shù)來控制服務(wù)u 服務(wù)控制指令通過位置變量$1傳入u 能夠通過chkconfig命令來管理此服務(wù)case語句應(yīng)用示例2-2rootlocalhost

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論