linux SHELL脚本编程
?shell腳本編程
????shell定義:簡(jiǎn)單來(lái)講就是命令解析器,將用戶輸入的指令轉(zhuǎn)換為相應(yīng)的機(jī)器能夠運(yùn)行的程序。
????shell種類:bourne?shell?(sh);korn?shell(ksh)?bourne?again?shell(bash)等
????shell腳本:是一個(gè)包含一系列命令序列的文本文件。當(dāng)運(yùn)行這個(gè)文本文件時(shí),里面的命令序列將得到執(zhí)行。:
shell腳本編程規(guī)則:
1:第一行的格式如下:#!/bin/sh???符號(hào)#!用來(lái)指定該腳本文件的解析程序。??
????2:符號(hào)#表示注釋。?
????3:變量由字符串組成,并且不需要定義。在引用變量的時(shí)候要加?$?符號(hào)。變量的賦值兩邊不能用空格。
????4:默認(rèn)變量。$#?所有命令行參數(shù)個(gè)數(shù)(不包括命令本身);$*?所有命令行參數(shù)的值(不包括命令本身)??$x??x是數(shù)值,表示第幾個(gè)命令行參數(shù)。0表示命令本身。
????5:函數(shù)的定義,不需要聲明,在使用前需要定義。其格式為:
???????function?name??{
???????}?????注意:在name?和?后面的?{?之間必須要有空格。
6:在一個(gè)變量之前加?local??表示的是局部變量。用在函數(shù)內(nèi)部,可以屏蔽全局變量。???
7:if?語(yǔ)句:掌握最簡(jiǎn)單的?if語(yǔ)句,其格式如下:
if??[?expression?]
?? then
??????? #code?block
fi
另外一種形式:
if??[?expression?]
? ?then
??????? #code?block
???? else
??????? #code?block
???? fi
注意在?“[”?和?“]”?的左右兩邊都要空格
????8:比較操作符:
??? 相等???????????-eq??????=
??? 不同???????????-ne??????!=
?? 大于???????????-gt???????>
??? 小于???????????-lt???????<
??? 大于或等于?????-ge
??? 小于或等于?????-le
??? 為空???????????-z
??? 不為空?????????-n
?9:對(duì)文件的判斷:
??? -e??文件已經(jīng)存在
????? -f??文件是普通文件
????? -s??文件大小不為零
????? -d?文件是一個(gè)目錄
????? -r?文件對(duì)當(dāng)前用戶可以讀
????? -w?文件對(duì)當(dāng)前用戶可以寫
????? -x?問(wèn)價(jià)你對(duì)當(dāng)前用戶可以執(zhí)行
?????10:另外還有for循環(huán)和while循環(huán)until循環(huán),case語(yǔ)句等,不要求掌握,了解
總結(jié)
以上是生活随笔為你收集整理的linux SHELL脚本编程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 久期怎么算
- 下一篇: linux GCC、GDB、Makefi