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

Linux认证考试要点:shell程序控制结构语句

发布时间:2022-11-24 12:59:51 所属栏目:Linux 来源:
导读:  shell程序控制结构语句

  脚本的控制结构语句有三种基本的类型:两路分支、多路分支以及一个或多个命令的循环执行。Linux的bash中的两路分支语句是if语句,多路分支语句是if-elif和case语句;代码的循环执行
  shell程序控制结构语句
 
  脚本的控制结构语句有三种基本的类型:两路分支、多路分支以及一个或多个命令的循环执行。Linux的bash中的两路分支语句是if语句,多路分支语句是if-elif和case语句;代码的循环执行语句是for、while和until语句。
 
  if语句
 
  两路分支的'if语句 格式:
 
  if 判断条件
 
  then 命令1
 
  else 命令2
 
  Fi
 
  判断条件包括命令语句和测试语句两种方式:
 
  命令语句形式的判断条件
 
  多路条件判断分支的if语句
 
  格式为:
 
  if 判断条件1
 
  then 命令1
 
  elif 判断条件2
 
  then 命令2
 
  ……
 
  else 命令n
 
  Fi
 
  其中elif是else if的缩写
 
  测试语句
 
  有两种格式,一种是使用关键字test,而另一种是使用方括号。格式如下:
 
  test expression
 
  [ expression ]
 
  二者是等效的。同时要注意几点
 
  用于三种形式的测试:文件测试、字符串测试和数值测试
 
  文件测试
 
  字符串测试
 
  数值测试
 
  用逻辑操作符进行组合的测试语句
 
  用逻辑操作符进行组合的测试语句实例
 
  [ ! "$s1" -le 0 ]
 
  ! test "$s1" -le 0
 
  [ -f "$s1" –a –w "$s1" ]
 
  test –f "$s1" -a –w "$s1"
 
  [ "$s1" –gt 0 –o "$s2" –lt 10 ]
 
  test "$s1" –gt 0 –o "$s2" –lt 10
 
  [ \( "$a" –gt 0 –a "$a" –lt 10 \) –a "$a" –ne 5 ]
 
  test \( "$a" –gt 0 –a "$a" –lt 10 \) –a "$a" –ne 5
 
  case语句
 
  对同一变量进行多次的测试,比elif语句更简单、简洁
 
  case string1 in
 
  str1)
 
  commands-list1;;
 
  str2)
 
  commands-list2;;
 
  ...
 
  strn)
 
  commands-listn;;
 
  esac
 
  使用case语句时应注意以下几点
 
  (1) 每个正则表达式后面可有一条或多条命令,其最后一条命令必须以两个分号(;;)结束。
 
  (2) 正则表达式中可以使用通配符。
 
  (3) 如果一个正则表达式是由多个模式组成,那么各模式之间应以竖线“|”隔开。表示各模式是“或”关系,即只要给定字符串与其中一个模式相配,就会执行其后的命令表。
 
  使用case语句时应注意以下几点
 
  (4) 各正则表达式是唯一的,不应重复出现。
 
  (5) case语句以关键字case开头,以关键字esac结束。
 
  (6) case的退出(返回)值是整个结构中最后执行的那个命令的退出值。若没有执行任何命令,则退出值为零。
 
  for语句
 
  格式:
 
  for variable [in argument-list]
 
  do
 
  command-list
 
  Done
 
  其中的[in argument-list]部分为可选项,由于它的不同又可有三种形式。
 
  [in argument-list]部分三种形式
 
  [argument-list]为变量值表
 
  变量variable依次取值表中各字符串
 
  [argument-list]为文件的表达式
 
  变量的值依次取当前目录(或指定目录)下与文件表达式相匹配的文件名,每取值一次linux语句,就进入循环体执行命令表,直到所有匹配的文件名取完为止。
 
  [argument-list]为空
 
  [argument-list]也可以用$*来代替,变量依次取位置参数的值,然后执行循环体中的命令表,直至所有位置参数取完为止。
 
  while语句
 
  格式为:
 
  while expression
 
  do
 
  command-list
 
  Done
 
  作用:只要expression的值为真,则进入循环体,执行command-1ist中的命令,然后再做条件测试,直到测试条件为假时才终止while语句的行。
 
  until语句
 
  格式为:
 
  until expression
 
  do
 
  command-list
 
  done
 
  作用: 只要expression的值为假,就执行command—lists的命令。
 
  break和continue语句
 
  break命令可以从循环体中退出来。格式为:
 
  break [n]
 
  continue命令跳过循环体中在它之后的语句,回到本层循环的开头,进行下一次循环。格式为:
 
  continue [n]
 
  算术表达式
 
  五种基本的算术运算:+(加)、-(减)、\*(乘)、/(除)和%(取模)。shell只提供整数的运算。格式如下:
 
  expr n1运算符n2
 
  例:
 
  [expr 15 \* 15
 
  注意:在运算符的前后都留有空格,否则expr不对表达式进行计算,而直接输出它们。
 
  自定义函数
 
  在shell脚本中可以定义并使用函数。其定义格式为:
 
  Function( )
 
  {
 
  command-list
 
  }
 
  函数应先定义,后使用。调用函数时,直接利用函数名调用。
 
  【2016年Linux认证考试要点:shell程序控制结构语句】相关文章:
 
  1.2016年Linux认证考试要点
 
  2.2016年Linux认证考试复习要点辅导
 
  3.2016年Linux认证考试要点:NFS的特点
 
  4.Linux认证考试科目
 
  5.Linux认证考试技巧
 
  6.Linux认证考试RHCE考试大纲
 
  7.Linux认证考试报考条件
 
  8.Linux认证考试必考点
 

(编辑:云计算网_汕头站长网)

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