加入收藏 | 设为首页 | 会员中心 | 我要投稿 财气旺网 - 财气网 (https://www.caiqiwang.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

linux学习(十一)Shell编 程中if语句、case语句、for语言、whi

发布时间:2023-01-13 12:48:00 所属栏目:Linux 来源:
导读:  Shell编程中的语句

  1.简单的if语句

  简单的if语句语法格式如下:

  if expression
  then statement1
  fi
  或者

  if expression
  then statement1
  else statem
  Shell编程中的语句
 
  1.简单的if语句
 
  简单的if语句语法格式如下:
 
  if expression
  then statement1
  fi
  或者
 
  if expression
  then statement1
  else statement2
  fi
  expression是上一篇博客里面的文件测试、字符串测试、数值测试
 
  2.复杂的多路条件分支if elif语句
 
  除了简单的if语句还有像c语言中if else if这样的语句,但是有些许不同
 
  if expression
  then statement1
  ······
  elif expression2
  then statement2
  ······
  fi
  case语句
 
  在shell中,处理多路条件分支情况的语句,除了上节所说的if elif语句外,还有一个专门处理多路分支情况的语句,就是case语句。
 
  case语句用一个变量值匹配着多个模式,当匹配成功时,执行相匹配的命令。case语句的基本语法为下:
 
  case value in
  pattern1)
  command-list1;;
  ···
  patternx)
  command-listx;;
  ···
  patternn)
  command-listn;;
  esac
  使用case语句需要注意以下几点
 
  (1)变量取值后面必须为关键字in,每一个模式必须以右括号结束
 
  (2)每一个case命令字句最后一条必须要以“;;”结束
 
  (3)case语句以关键词case开头,以esac关键词结束
 
  (4)匹配模式中可以使用方括号表示一个连续的范围,如[0-9]
 
  (5)当匹配模式由多个模式组成时,各模式之间使用“|”隔开,表示各模式之间的关系是“或”。
 
  在这里插入图片描述
 
  for语句
 
  Shell有三种循环方式:for语句、while语句、until语句。
 
  shell中的for循环与c语言的不一样,它有三种形式:第一种是列表for循环结构,第二种结构是不带列表的for循环,第三种结构就类似于c语言
 
  1.列表for循环
 
  基本语法如下
 
  for var in {list}
  do
   Loop body
  done
  var是循环变量;list是一个列表;do和done之间的语句为循环体;list中元素的个数就是整个for循环的循环次数。Shell会将list元素依次赋值给var,每次赋值都循环一次循环体。直到list列表中的元素都被访问过,循环中止。
 
  如果列表中元素过多可以指定for语句的步长,格式如下
 
  {start. .end. .step}
 
  {1. .100. .2}
 
  从1到100每次加2
 
  不带列表的for循环语句
 
  语法以下:
 
  for var
  do
   Loop body
  done
  for var语句相当于“for var in $*"
 
  就是说当用bash命令执行脚本时,读取数据,例如:
 
  bash test.sh 1 2 3
 
  var就依次读取1、2、3
 
  3.类似c语言的for循环语句
 
  for((expression1;expression2;expression3))
  do
   Loop body
  done
  while语句
 
  while expression
  do
   Loop body
  done
  只有当while后边的expression为真时,才进入循环体linux语句,直到测试条件为假,结束循环。
 
  设置结束标志控制的while循环,如下
 
  while [ “$num” != 4 ]
 
  braek语句和continue语句 1.break语句
 
  break n
  在上面的语法格式中,命令后面的整数n表示要跳出n层循环,默认值为1
 
  2.continue命令
 
  continue n
  在上面的语法格式中,命令后面的整数n表示要跳出n层循环,默认值为1
 
  区别:break直接跳出循环体,continue跳出一次循环体
 

(编辑:财气旺网 - 财气网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!