作者:娟紫恋蓝_610 | 来源:互联网 | 2023-10-12 19:13
Shell脚本学习(二):条件语句与循环语句一、条件语句首先,说到条件语句,就不得不先说下条件表达式的判断,那么shell中的条件表达式都有哪几种呢,这里可以分为三种:1.字符串的判断等于则为真。
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在循环控制语句中也有continue和break,用法跟C中相同。
好了,linux shell脚本中的条件控制与循环控制差不多就这些了,共同学习。