Shell脚本学习(二):条件语句与循环语句

Shell脚本学习(二):条件语句与循环语句

一、条件语句

首先,说到条件语句,就不得不先说下条件表达式的判断,那么shell中的条件表达式都有哪几种呢,这里可以分为三种:

1.字符串的判断

等于则为真。

!= 不相等则为真。

-z字串 字串长度伪则为真。

-n字串 字串长度不伪则为真。

2.整数的判断

-eq 等于则为真。

-ne 不等于则为真。

-gt 大于则为真。

-ge 大于等于则为真。

-lt 小于则为真。

-le 小于等于则为真。

3.文件的判断

-e文件名 如果文件存在则为真。

-r文件名 如果文件存在且可读则为真。

-w文件名 如果文件存在且可写则为真。

-x文件名 如果文件存在且可执行则为真。

-s文件名 如果文件存在且至少有一个字符则为真。

-d文件名 如果文件存在且为目录则为真。

-f文件名 如果文件存在且为普通文件则为真。

-c文件名 如果文件存在且为字符型特殊文件则为真。

-b文件名 如果文件存在且为块特殊文件则为真。

另外值得注意的是,Linux还提供了与(!)、或(-o)、非(-a)三个逻辑操作符,用于将测试条件连接起来,其优先顺序为:!最高,-a次之,-o最低。

上面说了条件表达式的判断,那下面就说有哪些条件表达式吧,以及用法。

1> if条件语句

shell程序中的两路条件分支是通过if条件语句来实现的,例:

if [ 条件表达式 ]; then 

条件为真时执行

fi

或者

if [ 条件表达式 ]; then 

条件为真时执行

else

条件为假时执行

fi

2> case多路分支语句

多路分支语句case用于多重条件测试,还是直接举例:

case $1 in

file 1)

echo “file 1.......”

;;

file 2)

echo “file 2.......”

;;

*)

echo “select file1 or file2”

;;

esac

二、循环语句

1> for循环,例:

for i in 1 2 3 4

do

echo $i

done

2> while循环,例:

while 条件表达式

do

执行语句

done

3> until循环,与while差不多,例:

until 条件表达式

do

执行语句

done

Linux shell在循环控制语句中也有continuebreak,用法跟C中相同。

好了,linux shell脚本中的条件控制与循环控制差不多就这些了,共同学习。

你可能感兴趣的:(linux)