Shell基础知识(三)——流程判断

简介: Shell基础知识(三)——流程判断

六. 流程判断

6.1 if 判断

使用格式

#格式一
if [ 条件判断式 ]
then
    语句
fi
或者
if [ 条件判断式 ];then
    语句
fi

#格式二
if [ 条件判断式 ]
then
    语句
elif [ 条件判断式 ]
then
    语句
else
    语句
fi

基础案例

#编辑if.sh

#!/bin/bash
if [ 4 -gt 3 ];then
   echo true
else
   echo false
fi


./if.sh
#输出
true

if判断案例

#!/bin/bash
if [ $# -gt 1 ]
then
  if [ $1 -gt $2 ]
  then
     echo $1 is bigger
  elif [ $1 -lt $2 ]
  then
     echo $2 is bigger
  else
     echo $2 equal $1
  fi
else
  echo args too less
fi

./if.sh 1 3
#输出
3 is bigger

./if.sh
#输出
args too less

6.2 case 判断

使用格式

case $1 in
条件1)
    语句
    ;;
条件2)
    语句
    ;;
*)
    其他情况
    ;;
esac

基础案例

#编辑文件 case.sh

#!/bin/bash
if [ $# -le 0 ]
then
  echo args is less
  exit 1
fi

echo arg num is $#,arg1 is $1

case $1 in
1)
  echo arg is 1
  ;;
2)
  echo arg is 2
  ;;
*)
  echo arg is $1
  ;;
esac


./case.sh 8
#输出
arg num is 1,arg1 is 8
arg is 8

./case.sh 3
#输出
arg num is 1,arg1 is 3
arg is 3

6.3 for 循环

使用格式

#格式一
for i in $@
do
  echo $i
done

#格式二
for ((i=1;i<=5;i++))
do
   echo $i
done

基本案例

#编辑for.sh文件
#!/bin/bash
echo arg num is $#.
for i in $@
do
  echo $i
done


./for.sh 1 2 3 4 5 6
#输出
arg num is 6.
1
2
3
4
5
6

6.4 until 循环

使用格式

until 条件
do
  语句
done

基本案例

#编辑 until.sh

#!/bin/bash
i=1
sum=0
#until中条件为true就退出
#直到i大于10就退出,意思是这里i为11就退出
until [ $i -gt 10 ]
do
  sum=$[$i+$sum]
  let i++
done
echo $sum

./until.sh
#输出
55

6.5 while 循环

使用格式

while 条件
do
   语句
done

基本案例

#!/bin/bash
i=1
sum=0
#while中条件为false就退出
#当i小于等于10就执行循环语句,意思是这里i为11就退出
while [ $i -le 10 ]
do
  sum=$[$i+$sum]
  let i++
done
echo $sum
目录
相关文章
|
6月前
|
Shell Windows Perl
Shell编程中的条件判断与流程控制
Shell编程中的条件判断与流程控制
86 0
|
6月前
|
Java 大数据 Shell
Shell基础学习---2、运算符、条件判断、流程控制(第一天学习)
大数据开发学习 Shell基础学习---2、运算符、条件判断、流程控制
|
27天前
|
Java Shell 网络安全
Shell 流程控制
10月更文挑战第4天
34 2
|
6月前
|
Shell 程序员 数据安全/隐私保护
shell 脚本 if-else判断 和流程控制 (基本语法|基础命令)
shell 脚本 if-else判断 和流程控制 (基本语法|基础命令)