LinuxShell編程基礎(chǔ)_第1頁(yè)
LinuxShell編程基礎(chǔ)_第2頁(yè)
LinuxShell編程基礎(chǔ)_第3頁(yè)
LinuxShell編程基礎(chǔ)_第4頁(yè)
LinuxShell編程基礎(chǔ)_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、Linux Shell編程基礎(chǔ)編程基礎(chǔ)授課:楊建新腳本編程腳本編程 傳統(tǒng)的DOS批處理文件(*.bat) Windows腳本: vbscript(*.vbs) Javascript(*.js) Unix Shell腳本指定腳本執(zhí)行所使用的指定腳本執(zhí)行所使用的shell1. 如果Script的第一個(gè)非空字符不是#,則它會(huì)使用Bourne Shell。2. 如果Script的第一個(gè)非空字符是#時(shí),但不以#!開(kāi)頭時(shí),則它會(huì)使用C Shell。3. 如果Script以“#!”開(kāi)頭,則“#!”后面所寫(xiě)的就是所使用的Shell,而且要將整個(gè)路徑名稱指出來(lái) *建議使用第3種方法執(zhí)行執(zhí)行shell腳本程序的方

2、法腳本程序的方法 shellname scriptname .scriptname在在shell中使用變量中使用變量 Bourne Shell的變數(shù)類(lèi)型只有字串變量,所以要使用數(shù)值運(yùn)算則必須靠外部命令達(dá)到目的 變量主要包括用戶變量和系統(tǒng)變量?jī)深?lèi) 為變量賦值:var=string 取用變量時(shí)則在變量名稱前加上一“$”號(hào) 如果需要處理數(shù)值運(yùn)算,可以使用expr命令 expr用法用法 expr一般用于整數(shù)值計(jì)算,常用于程序計(jì)數(shù)器,實(shí)例如下: expr 10 + 10 expr 10 * 10 expr 30 / 10常用系統(tǒng)變量常用系統(tǒng)變量 $HOME 使用者自己的目錄 $PATH 執(zhí)行命令時(shí)所搜尋

3、的目錄 $TZ 時(shí)區(qū) $MAILCHECK 每隔多少秒檢查是否有新的信件 $PS1 在命令列時(shí)的提示號(hào) $PS2 當(dāng)命令尚未打完時(shí),Shell 要求再輸入時(shí)的提示號(hào) $MANPATH man 指令的搜尋路徑 實(shí)例實(shí)例1 #!/bin/sh name=yangecho $nameecho $PATHPATH=$PATH:$HOME/binecho $PATHi=0i=expr $i + 3echo $i使用特殊變量使用特殊變量 $0 這個(gè)程序的執(zhí)行名字 $n 這個(gè)程序的第n個(gè)參數(shù)值,n=1.9 $* 這個(gè)程序的所有參數(shù) $# 這個(gè)程序的參數(shù)個(gè)數(shù) $ 這個(gè)程序的PID $! 執(zhí)行上一個(gè)背景指令的P

4、ID $? 執(zhí)行上一個(gè)指令的返回值 使用shift 命令可以將參數(shù)后移實(shí)例實(shí)例2:testvar #!/bin/sh echo Filename: $0 echo Arguments: $*echo Number of args.: $#echo 2nd arg.: $2shiftecho Number of args.: $# echo 2nd arg.: $2 set hello, world echo Arguments: $* echo 2nd arg.: $2 執(zhí)行sh testvar this is my shell script獲取用戶輸入獲取用戶輸入 使用read命令可以獲取用

5、戶的輸入并賦予變量 read var1 var2. 實(shí)例實(shí)例3 #!/bin/shecho Please input your name:read nameecho Your name is:$name條件測(cè)試條件測(cè)試 測(cè)試文件狀態(tài)-d:目錄-s:文件非空-f:正規(guī)文件-w:可寫(xiě)-L:符號(hào)鏈接-u:文件有suid位-r:可讀-x:可執(zhí)行條件測(cè)試條件測(cè)試 比較表達(dá)式-eq=字符串:-ne!=-gt-n:非空串-lt-z:空串-le=條件測(cè)試條件測(cè)試 邏輯操作 -a, & -o, | !條件測(cè)試條件測(cè)試 # -f /etc/passwd -a -f /etc/inittab # echo

6、$?0 # -x /etc/passwd -o -x /bin/sh # echo $?0流程控制流程控制:分支結(jié)構(gòu)分支結(jié)構(gòu) if.then.elsefi if.then.elif.thenfi case var in string1 ) command. ; *)command.;esac 實(shí)例實(shí)例4#!/bin/shuntil echo List Directory.1 echo Change Directory.2 echo Edit File.3 echo Remove File.4 echo Exit Menu.5 echo Please input your choice: rea

7、d choice test $choice = 5 do case $choice in 1) ls;2) echo Enter target directory read dir cd $dir ;3) echo Enter file name read file vi $file ;4) echo Enter file name read file rm $file ;q|Q|5) echo Goodbye exit ; *) echo illegal Optionesacdone流程控制流程控制:循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu) for循環(huán):for var in listdo commands. don

8、e while循環(huán):while conditiondo commands. done流程控制流程控制:循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu) until循環(huán):until condition-is-truedo commands. done 循環(huán)控制:break, continue break:跳出循環(huán)或case語(yǔ)句 continue:跳過(guò)本次循環(huán)實(shí)例實(shí)例5#!/bin/shnumber=1while $number -le 10 douseradd user$numberecho Add a user whose name is:user$numbernumber=expr $number + 1done建立10個(gè)用戶帳戶實(shí)例實(shí)例6#!/bin/shcounterf=0counterd=0for files in *do if -f $files ;then counterf=expr $counterf + 1 elif -d $files ;then counterd=expr $count

溫馨提示

  • 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論