您的位置:首页 > 娱乐 > 明星 > Linux编程for、while循环if判断以及case语句用法

Linux编程for、while循环if判断以及case语句用法

2024/10/6 20:36:43 来源:https://blog.csdn.net/m0_74460387/article/details/139534897  浏览:    关键词:Linux编程for、while循环if判断以及case语句用法

 简介

语法描述
if条件语句
if else条件判断语句
if else-if else多条件判断语句
for循环执行命令
while循环执行命令
until直到条件为真时停止循环
case ... esac多选择语句
break跳出循环
continue跳出当前循环

1. for 循环

for语句,定量循环,可以遍历一个列表或数组中的元素一,并对每个元素执行相应的操作;

(1)for 循环示例: 
#!/bin/bash
x=0
for ((i=1;i<100;i++))
dox=x[$x+$i]
done
echo "$x"

2. while 循环

while 循环可以根据条件重复执行一段代码;

(1)基本格式

#!/bin/bash

x=0

while [       ]

do

              xxx  

done

echo "$x"

(2) while 循环示例:
  1 #!/bin/bash2 s=03 i=1                     #定义循环变量4 while [ $i -le 100 ]    #定义循环条件5 do6     s=$[$s+$i]          #累加7     i=$[$i+1]8 done9 echo "$s"

3. if 判断

shell中的逻辑判断一般用if语句,if语句中通常用[]来表示条件测试,可以比较字符串、判断文件是否存等。[ ] 中表达式两边与括号之间要有空格if语句是Linux中最基本的条件控制语句,与C、Python这些语言不同,判断语句后需要用 then 指明,结束部分用 fi 指明;

(1)基本格式:

#!/bin/bash

if [  ]

then

        ……

fi

if [  ]

then

        ……

fi

(2) if 判断语句示例 
#!/bin/bash
a=$1
b=$2
if [ $a == $b ];thenecho "a and b is equal"
fi
if [ $a != $b ];thenecho "a and b is not equal"
fi

4. case 语句

case 语句用于执行多个条件测试,每个条件称为一个case,并根据第一个匹配的条件执行相应的代码块;可以用case语句匹配一个值与一个模式,如果匹配成功,执行相匹配的命令;

(1)基本格式

#!/bin/bash

case $1 in

1)

        echo " "

;;

2)   

        echo " "

;;

3)

        echo " "

;;

*)

        echo " "

;;

esac

 如上所示,取值后面必须为单词in,每一模式必须以右括号结束。取值可以为变量或常数。匹配发现取值符合某一模式后,其间所有命令开始执行直至 ;;  

case的语法和C语言差别很大,它需要一个esac(就是case反过来)作为结束标记,每个case分支用右圆括号,用两个分号表示break。

 (2) case 语句示例 
#输入两个值及运算符号实现任意四则运算
#!/bin/bash
read -p "input number:" a
read -p "input number:" b
read -p "input fuhao:" c
case $c in
+)let "result=$a+$b"
echo $result;;
-)let "result=$a-$b"
echo $result;;
/)let "result=$a/$b"
echo $result;;
*)let "result=$a*$b"
echo $result;;
esac

5. break 语句

break 语句用于跳出当前循环(for、while 或 until 循环),并终止循环的执行。

(1)break 语句示例   
#!/bin/bashfor i in {1..10}
doif [ $i -eq 5 ]; thenbreakfiecho $i
done

常用的整数比较条件:

  • -eq:等于。
  • -ne:不等于。
  • -gt:大于。
  • -lt:小于。
  • -ge:大于等于。
  • -le:小于等于。
     

常见的字符串比较条件:

  • =:等于。
  • !=:不等于。
  • -z:为空字符串。
  • -n:非空字符串。
格式
  • [ 字符串1 = 字符串2 ] 是否相同
  • [ 字符串1 != 字符串2 ] 是否不相同
  • [ -z 字符串 ] 是否为空
  • [ -n 字符串 ] 字符是否存在

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com