shell腳本if語(yǔ)句(shell中if語(yǔ)句的用法)

大家好,今天小編來(lái)為大家解答以下的問題,關(guān)于shell腳本if語(yǔ)句,shell中if語(yǔ)句的用法這個(gè)很多人還不知道,現(xiàn)在讓我們一起來(lái)看看吧!shell里面if能嵌套多少層...
大家好,今天小編來(lái)為大家解答以下的問題,關(guān)于shell腳本if語(yǔ)句,shell中if語(yǔ)句的用法這個(gè)很多人還不知道,現(xiàn)在讓我們一起來(lái)看看吧!
shell里面if能嵌套多少層
7層,可以嵌入if函數(shù)7層
linuxshell編程if語(yǔ)句內(nèi)判斷參數(shù)有哪些呢
(($num1!=$num2))里面的是算術(shù)表達(dá)式用(($num1-$num2))或者[[$num1!=$num2]]
shell腳本中的if中多條件語(yǔ)句如何寫
[root@localhost~]#catca=1if[$a-eq1];thenechoa等于1elseechoa不等于1fi[root@localhost~]#shca等于1
Linux中shell分多少種都有什么區(qū)別
shell的種類比較多,常見的就是bash,這個(gè)是默認(rèn)的linux常見的默認(rèn)配置,流行的shell有其他幾種,不同的shell都有自己的特點(diǎn)和用途。
sh
一種快捷方式,被/bin/bash取代
bash
bashshell是Bourneshell的一個(gè)免費(fèi)版本,它是最早的Unixshell,包括許多附加的特點(diǎn)。現(xiàn)在也是很大部分發(fā)行版默認(rèn)的使用的shell,Bash有可編輯的命令行,可以回查歷史命令,支持tab鍵補(bǔ)齊以使用戶避免輸入長(zhǎng)的文件名。
csh
Cshell使用的是“類C”的語(yǔ)法,借鑒了Bourneshell的許多特點(diǎn),只是內(nèi)部shell命令集有所不同。有52條內(nèi)部命令,較為龐大,使用不多,被/bin/tcsh,取代。
ksh
Kornshell的語(yǔ)法與Bourneshell相同,同時(shí)具備了Cshell的易用特點(diǎn)。許多安裝腳本都使用ksh,即使不把它作為主shell,也應(yīng)該在系統(tǒng)中安裝它。有42條內(nèi)部命令,與bash相比有一定的限制性。
tcsh
TCshell是Cshell的一個(gè)增強(qiáng)版本,與Cshell完全兼容。
zsh
Zshell是Kornshell的一個(gè)增強(qiáng)版本,具備bashshell的許多特色。比較大的shell,有84個(gè)內(nèi)部命令,比較復(fù)雜。正常情況,不會(huì)用到。
等
怎么寫一個(gè)shell腳本傳入?yún)?shù)
很簡(jiǎn)單,寫個(gè)循環(huán) if[$#-eq0]##判斷參數(shù)是否存在 then exit##不存在退出 else forain$*##存在話,取參數(shù)放入a中循環(huán) do b=`echo$a|tr[a-z][A-Z]`###將a改成大寫 echo"CC"$b##拼接成功CCA done fi
ifx控制腳本怎么寫
在簡(jiǎn)單的shell腳本程序中,各條語(yǔ)句將按先后順序依次執(zhí)行,從而實(shí)現(xiàn)批處理的自動(dòng)化過程。然而,單一的順序結(jié)構(gòu)使得腳本不夠智能,難以處理更加靈活的系統(tǒng)任務(wù)。通過正確的使用if語(yǔ)句,使得shell腳本具有一定的判斷能力,以根據(jù)不同的條件來(lái)完成不同的任務(wù)管理。
條件測(cè)試操作
要使shell腳本具有一定的智能,就必須使其區(qū)分在不同的條件下執(zhí)行哪種操作。例如,當(dāng)磁盤使用率超過95%時(shí)發(fā)送告警消息等
可使用專門的測(cè)試工具test命令,對(duì)特定的條件進(jìn)行測(cè)試,并根據(jù)返回值($?)來(lái)判斷條件是否成立,返回值為0表示條件成立
使用test命令的格式如下:
格式一:test條件表達(dá)式
格式二:[條件表達(dá)式]
通常情況下,使用格式二更符合編程習(xí)慣,但是方括號(hào)與條件表達(dá)式至少需要一個(gè)空格進(jìn)行分隔
1.文件測(cè)試
文件測(cè)試指的是根據(jù)指定的路徑名稱,判斷對(duì)應(yīng)的是文件還是目錄,是否可讀、可寫、可執(zhí)行。常見的操作選項(xiàng)如下:
-d:測(cè)試是否為目錄(Directory)
-f:測(cè)試是否為文件(File)
-e:測(cè)試目錄或文件是否存在(Exist)
-r:測(cè)試當(dāng)前用戶是否有權(quán)限讀?。≧ead)
-w:測(cè)試當(dāng)前用戶是否有權(quán)限寫入(Write)
-x:測(cè)試當(dāng)前用戶是否有權(quán)限執(zhí)行(Excute)
2.整數(shù)值比較
整數(shù)值比較指的是根據(jù)指定的兩個(gè)整數(shù)值,判斷第一個(gè)數(shù)和第二個(gè)數(shù)的關(guān)系,常用操作選項(xiàng)如下:
-eq:第一個(gè)數(shù)等于第二個(gè)數(shù)
-ne:第一個(gè)數(shù)不等于第二個(gè)數(shù)
-gt:第一個(gè)數(shù)大于第二個(gè)數(shù)
-lt:第一個(gè)數(shù)小于第二個(gè)數(shù)
-ge:第一個(gè)數(shù)大于或等于第二個(gè)數(shù)
-le:第一個(gè)數(shù)小于或等于第二個(gè)數(shù)
3.字符串比較
字符串比較通常檢測(cè)用戶輸入、系統(tǒng)環(huán)境是否滿足條件,常用操作選項(xiàng)如下:
=:第一個(gè)字符串與第二個(gè)字符串相同
!=:第一個(gè)字符串與第二個(gè)字符串不相同
-z:檢測(cè)字符串是否為空,對(duì)于未定義或賦予空值的變量將視為空串
4.邏輯測(cè)試
邏輯測(cè)試指的是判斷兩個(gè)或多個(gè)條件之間的依賴關(guān)系,常用的邏輯測(cè)試操作如下:
&&:邏輯與,只有當(dāng)前后兩個(gè)條件都成立時(shí),整個(gè)測(cè)試命令的返回值才為0。使用test命令時(shí),&&可改為-a
||:邏輯或,只要前后條件中有一個(gè)成立,整個(gè)測(cè)試命令的返回值即為0。使用test命令時(shí),||可改為-o
!:邏輯否,只有當(dāng)指定的條件不成立時(shí),整個(gè)測(cè)試命令的返回值才為0。
關(guān)于shell腳本if語(yǔ)句,shell中if語(yǔ)句的用法的介紹到此結(jié)束,希望對(duì)大家有所幫助。
本文鏈接:http:///ruanjian/3100.html