数学是计算机编程的重要能力。遗憾的是,对shell脚本来说,这个处理过程比较麻烦。在shell脚本中两种途径来进行数学运算。
expr命令
 最开始,Bourne shell提供了一个特别的命令用来处理数学表达式。expr命令允许在命令行上处理数学数学表达式。
 expr 1+5
 6
 expr命令能够识别少数的数学和字符串操作符。
 特殊例子:expr 52
 expr:syntax error
 要解决这个问题,对于那些容易被shell错误解释的字符,在它传入expr命令之前,需要使用shell的转义字符将其标出来。expr 5*2
 10
 现在,麻烦才刚开始,在shell脚本使用的expr命令也同样复杂。
 cat test2
 /bin/bash
 var=1
 var=2
 var3=$(expr  
      
       
        
        
          v 
         
        
          a 
         
        
          r 
         
        
          2 
         
        
          / 
         
        
       
         var2 / 
        
       
     var2/var1
 )
 echo The result is $var3
 chomod u+x test2
 ./test2
 the result is 2
 使用方括号可以把数学表达式表达的更好,可以用美元和方括号将数学表达式围起来。
 var1=&[1+5]
 echo  
      
       
        
        
          v 
         
        
          a 
         
        
          r 
         
        
          16 
         
        
          v 
         
        
          a 
         
        
          r 
         
        
          2 
         
        
          = 
         
        
       
         var1 6 var2= 
        
       
     var16var2=[$var12]
 echo KaTeX parse error: Expected 'EOF', got '#' at position 21: …12 cat test1 #̲!bin/bash car1…var1*( 
     
      
       
       
         v 
        
       
         a 
        
       
         r 
        
       
         2 
        
       
         − 
        
       
      
        var2- 
       
      
    var2−var3)]
 echo the final result is $var4
 chmod u+x test1
 ./test1
 the final result is 500
用exitqu 去退出脚本
 检查退出状态码的列表如下:



















