Shell腳本編程之判斷語(yǔ)句
一、單分支if語(yǔ)句
格式:if 判斷條件;then
statement1 statement2 ... fi

二、雙分支的if語(yǔ)句
格式:if 判斷條件; then
statement1 statement2 ... else statementN ... fi
使用一個(gè)以前用過(guò)的腳本來(lái)說(shuō)明這個(gè)結(jié)構(gòu)。

三、多分支if語(yǔ)句
格式:if 判斷條件1;then
statement1 ... elif 判斷條件2; then statement2 ... elif 判斷條件3; then statement3 ... else statement4 ... fi

四、case語(yǔ)句
格式:case 變量 in
PATTERN1) statement ... ;; PATTERN2) statement ... ;; *) statement ... ;; esac

因?yàn)榕袛嘟Y(jié)構(gòu)語(yǔ)句比較簡(jiǎn)單,沒(méi)有做過(guò)多的說(shuō)明,只要記住各語(yǔ)句的結(jié)構(gòu)用法即可。
補(bǔ)充shell基本語(yǔ)法
1.1、shell文件開(kāi)頭
shell文件必須以下面的行開(kāi)始(必須方在文件的第一行):
#!/bin/sh
符號(hào)#!用來(lái)告訴系統(tǒng)它后面的參數(shù)是用來(lái)執(zhí)行該文件的程序。在這個(gè)例子中我們使用/bin/sh來(lái)執(zhí)行程序。
當(dāng)編輯好腳本時(shí),如果要執(zhí)行該腳本,還必須使其可執(zhí)行。
要使腳本可執(zhí)行:
運(yùn)行chmod +x filename 這樣才能用./filename 來(lái)運(yùn)行
1.2 注釋
在進(jìn)行shell編程時(shí),以#開(kāi)頭的句子表示注釋?zhuān)钡竭@一行的結(jié)束。我們真誠(chéng)地建議您在程序中使用注釋。
如果您使用了注釋?zhuān)敲醇词瓜喈?dāng)長(zhǎng)的時(shí)間內(nèi)沒(méi)有使用該腳本,您也能在很短的時(shí)間內(nèi)明白該腳本的作用及工作原理。
1.3 變量
在shell編程中,所有的變量都由字符串組成,并且您不需要對(duì)變量進(jìn)行聲明,直接賦值就可以,應(yīng)用變量的話,用$+變量名的形式。
要賦值給一個(gè)變量,您可以這樣寫(xiě):
a="hello world"
現(xiàn)在打印變量a的內(nèi)容:
echo "A is:" echo $a
有時(shí)候變量名很容易與其他文字混淆,比如:
num=2 echo "this is the $numnd"
這并不會(huì)打印出"this is the 2nd",而僅僅打印"this is the ",因?yàn)閟hell會(huì)去搜索變量numnd的值,但是這個(gè)變量時(shí)沒(méi)有值的??梢允褂没ɡㄌ?hào)來(lái)告訴shell我們要打印的是num變量:
num=2
echo "this is the ${num}nd"
這將打?。?this is the 2nd
1.4 環(huán)境變量
由export關(guān)鍵字處理過(guò)的變量叫做環(huán)境變量。我們不對(duì)環(huán)境變量進(jìn)行討論,因?yàn)橥ǔG闆r下僅僅在登錄
腳本中使用環(huán)境變量。
相關(guān)文章
Apache使用 .htaccess 來(lái)實(shí)現(xiàn)強(qiáng)制https訪問(wèn)的方法
下面小編就為大家?guī)?lái)一篇Apache使用 .htaccess 來(lái)實(shí)現(xiàn)強(qiáng)制https訪問(wèn)的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-03-03
shell一鍵部署Zabbix的實(shí)現(xiàn)步驟
本文主要介紹了shell一鍵部署Zabbix的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-02-02
Linux shell傳遞參數(shù)實(shí)現(xiàn)原理及代碼實(shí)例
這篇文章主要介紹了Linux shell傳遞參數(shù)實(shí)現(xiàn)原理及代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08
一些Linux Shell中的權(quán)限相關(guān)知識(shí)總結(jié)
這篇文章主要介紹了一些Linux Shell中的權(quán)限相關(guān)知識(shí)總結(jié),使Linux入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-07-07
Shell編程之Shell變量學(xué)習(xí)總結(jié)
這篇文章主要介紹了Shell腳本編程中Shell變量的學(xué)習(xí)總結(jié),需要的朋友可以參考下2014-03-03
Shell中使用scp命令實(shí)現(xiàn)文件上傳代碼
這篇文章主要介紹了Shell中使用scp命令實(shí)現(xiàn)文件上傳代碼,本文講解使用scp命令實(shí)現(xiàn)名登錄上傳文件,需要的朋友可以參考下2015-04-04
高級(jí)開(kāi)發(fā)運(yùn)維測(cè)試必須掌握的envsubst命令使用詳解
這篇文章主要為大家介紹了高級(jí)開(kāi)發(fā)運(yùn)維測(cè)試必須掌握的envsubst命令使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04
Linux 壓縮某個(gè)文件夾的實(shí)現(xiàn)方法
這篇文章主要介紹了Linux 壓縮某個(gè)文件夾的實(shí)現(xiàn)方法的相關(guān)資料,希望通過(guò)本文能幫助到大家,讓大家實(shí)現(xiàn)這樣的功能,需要的朋友可以參考下2017-10-10
用來(lái)檢測(cè)輸入的選項(xiàng)$1是否在PATH中的shell腳本
今天無(wú)意中發(fā)現(xiàn)一本挺有意思的shell編程的書(shū),是e文的,內(nèi)容是101個(gè)shell案例,堅(jiān)持明天看一個(gè),寫(xiě)點(diǎn)心得2016-08-08

