shell指令碼之流程控制語句

2021-09-07 12:18:22 字數 1853 閱讀 9709

一、分支控制語句

1、if .. fi條件

if condition; then

action

fi2、if .. else .. fi條件

if condition;then

action;

else

action

fi3、if .. else if ..else ..fi條件

if condition;then

action;

else if condition;then

action;

else

action;

fi注意:if和slse語句可以進行巢狀,if條件判斷可能因此變得很長,可以使用邏輯運算子使他變得簡潔一點:

[ condition ] && action; #如果condition條件為真,則執行action;

[ condition ] || action; #如果condition條件為假,則執行action;

二、迴圈控制語句

1、for迴圈

for var in list;

doaction;

done

其中list可以是乙個字串、序列或陣列等。

採用c語言方式的for迴圈語句:

for((i=0;i<10;i++))

action

或for((i=0;i<10;i++));

doaction

done

2、while迴圈

while condition

doaction

done

3、until迴圈語法

until condition

doaction

done

二、邏輯運算子和邏輯表示式

1、常用邏輯運算子如下:

l &&(或者 -a):邏輯與

l ||(或者 -o):邏輯或

2、邏輯表示式

1)算術比較:條件一般

被放在內,切記中括號前後需要留有空格。

常用的算術操作符:

l -eq:等於

l -ne:不等於

l -gt:大於

l -lt:小於

l -ge:大於等於

l -le:小於等於

2)檔案系統執行符:

條件比較一般被放在內,切記中括號前後需要留有空格。

l [ -f $file_var ]:給定變數包含正常的檔案或檔名,返回真。

l [ -x $var ]:

給定的檔案包含可執行許可權,返回真。

l [ -d $var ]: 給定的變數包含的是目錄,返回真。

l [ -e $var ]: 給定的變數包含的檔案存在,返回真。

l [ -c $var ]: 給定的變數包含乙個字元裝置路徑,返回真。

l [ -b $var ]: 給定的變數是乙個塊裝置檔案路徑,返回真。

l [ -w $var ]: 給定的檔案包含可寫許可權,返回真。

l [ -r $var ]: 給定的檔案包含可讀許可權,返回真。

l [ -l $var ]: 給定的檔案包含乙個符號鏈結,返回真。

3)字串比較:條件比較一般被放在雙內,切記中括號前後需要留有空格。

-z:字串是空字串,返回真。

-n:字串是非空字串,返回真。

4)test命令用來執行條件判斷,test命令可以避免過多的。

例如:if [

$var -eq 0];then

echo "true"

fi可以寫成:

if test $var -eq 0;then

echo "true"

fi

shell 之 流程控制語句if

if 條件 then commands fi bin bash ifls shell then echo there is a dir named shell fi執行結果 注 根據我們命令退出的碼來進行判斷 是否為 0 如果是0,那麼就會執行then後面的命令 if 條件 then command...

Mysql之流程控制語句

這篇部落格主要是總結一下mysq中的流程控制語句的用法,主要是 case,if,ifnull,nullif 1.case case value when compare value then result when compare value then result else result end ...

PL SQL之 流程控制語句

一 簡介 像程式語言一樣,oracle pl sql也有自己的流程控制語句。通過流程控制語句,我們可以在pl sql中實現一下比較複雜的業務邏輯操作。而無需到程式中去控制,在一定程度上提高了效率,這也是pl sql的強大之處。pl sql流程控制語句有如下幾種 二 語句種類 1 控制語句 a if語...