【Shell】算术运算符、流程控制、函数利用、数组以及加载其它文件的变量 ...

打印 上一主题 下一主题

主题 850|帖子 850|积分 2550

文章目录

1.6 Shell算术运算符
1 简介
2 例子
1.7流程控制
1 if else
关系运算符
2 for 循环
3 while 语句
4 无限循环
5 case(switch)
6 跳出循环
1.8 函数利用
1 函数的快速入门
2 转达参数给函数
1.9 数组
1 界说数组
2 读取数组
3 遍历数组
1.10 加载其它文件的变量
1 简介
2 训练
1.6 Shell算术运算符

1 简介


   Shell   和其他编程一样,  支持  包括:算术、关系、布尔、字符串等运算符。     原生   bash   不支持   简朴的数学运算,但是可以通过其他命令来实现,比方  expr  。     expr   是一款表达式计算工具,利用它能完成表达式的求值操纵。     比方,两个数相加:     
    注意:     表达式和运算符之间要有空格  ,比方   2+2   是不对的,必须写成   2 + 2  。     完整的表达式要被   `   包含,注意不是单引号,在   Esc   键下边。     下表列出了常用的算术运算符,假定变量   a   为   10  ,变量   b   为 20:   
    注意:  条件表达式要放在方括号之间,而且要有空格,比方  :   [$a==$b]   是错误的,必须写成   [ $a == $b     ]  。   2 例子



1.7流程控制

1 if else


   1.1 if     if   语句语法格式:   
  demo

   末端的  fifi  就是  if  倒过来拼写,后面还会遇到类似的。     1.2 if else     if else   语法格式:     
    1.3 if else-if else     if else-if else   语法格式:     
  以下实例判断两个变量是否相称: 
关系运算符


   关系运算符只支持数字,不支持字符串,除非字符串的值是数字。     下表列出了常用的关系运算符,假定变量   a   为   10  ,变量   b   为   20  :   
  案例:
 

   2 for 循环

  2.1 格式
  

  2.2 随堂训练
  

  代码如下:
  

  

     3 while 语句

   
       while    循环用于不断执行一系列命令,也用于从输入文件中读取数据;命令通常为测试条件。其格式           为:              
      需求: 计算 1~100 的和
   
 运行脚本,输出:
   

       利用中利用了     Bash let     命令,它用于执行一个或多个表达式,变量计算中不需要加上     $     来表现变量,           具体可查阅:    Bash let     命令    。           4 无限循环

    无限循环语法格式:
   

     

   

         5 case(switch)

     
           Shell case      语句为多选择语句。可以用      case      语句匹配一个值与一个模式,如果匹配成功,执行相匹配的                 命令。      case      语句格式如下:                 
                case      工作方式如上所示。取值后面必须为单词      in      ,每一模式必须以右括号结束。取值可以为变量或常                 数。匹配发现取值符合某一模式后,其间所有命令开始执行直至       ;;      。                 取值将检测匹配的每一个模式。一旦模式匹配,则执行完匹配模式相应命令后不再继续其他模式。如果                 无一匹配模式,利用星号       *       捕获该值,再执行后面的命令。                 下面的脚本提示输入      1      到      4      ,与每一种模式进行匹配:                 
          输入不同的内容,会有不同的效果,比方:
     

           6 跳出循环

      
             在循环过程中,偶然候需要在未达到循环结束条件时逼迫跳出循环,       Shell       利用两个命令来实现该功能:                    break       和       continue       。                            6.1 break        命令                       break        命令允许跳出所有循环(终止执行后面的所有循环)。                     
               

               6.2 continue                       continue        命令与        break        命令类似,只有一点差别,它不会跳出所有循环,仅仅跳出当前循环。                     
              

                      1.8 函数利用

1 函数的快速入门

格式

   可以带  function fun()   界说,也可以直接  fun()   界说  ,  不带任何参数。     参数返回,可以显示加:  return   返回,如果不加,将以末了一条命令运行效果,作为返回     值。   return  后跟数值  n(0-255)     快速入门     
  2 转达参数给函数


   在  Shell  中,调用函数时可以向其转达参数。在函数体内部,通过   的 形 式 来 获 取 参 数 的 值 , 例 如 ,   1  表现     第一个参数,  $2  表现第二个参数  ...     带参数的函数示例:   
  输出效果:

   注意,   不 能 获 取 第 十 个 参 数 , 获 取 第 十 个 参 数 需 要   {10}  。当  n>=10  时,需要利用  ${n}  来获取参数。     另外,另有几个特别字符用来处理参数:   
          1.9 数组

1 界说数组


   数组中可以存放多个值。  Bash Shell   只支持一维数组  (不支持多维数组),初始化时不需要界说数组大     小(。     与大部分编程语言类似,数组元素的下标由  0  开始。     Shell   数组用括号来表现,元素用  "  空格  "  符号分割开,语法格式如下:     array_name=(value1 value2 value3 ... valuen)    1.1   实例      
  读取数组元素值的一样平常格式是:
2.1 实例

执行脚本,输出效果如下所示:  

   2.2   获取数组中的所有元素     利用  @   或   *   可以获取数组中的所有元素,比方:   
  执行脚本,输出效果如下所示:

   2.3   获取数组的长度     获取数组长度的方法与获取字符串长度的方法类似,比方:     
  执行脚本,输出效果如下所示:

   3 遍历数组

  3.1 方式一
  

  3.2 方式二
  

    1.10 加载其它文件的变量

  

  1 简介

  
     和其他语言一样,   Shell    也可以包含外部脚本。如许可以很方便的封装一些公用的代码作为一个独立的        文件。        Shell 文件包含的语法格式如下:   
   
  2 训练

  
     界说两个文件    test1.sh   和   test2.sh   ,在   test1   中界说一个变量   arr=(java c++ shell),   在   test2   中对   arr   进行循        环打印输出。        第一步: vim test1.sh    
    第二步: vim test2.sh
  

  第三步: 执行 test2.sh
  

     利益    :        1.    数据源 和 业务处理 分离        2.    复用 代码扩展性更强   

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

立聪堂德州十三局店

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表