美文网首页
数值计算与条件判断

数值计算与条件判断

作者: zhile_doing | 来源:发表于2018-05-08 21:58 被阅读0次
  1. 算术运算命令
    在shell脚本编程中,可以使用的运算符很多,和C语言基本一致



    我们需要了解掌握的是一些运算命令

    • (())用于整数计算的运算符,效率高,另外,在(())语法中不要求有空格,但是有也不会影响结果,在(())中的变量可以不加前导符$
      ((i=i+1))       数值计算
      i=$((i+1))      同上
      ((8>7&&7>5))    条件判断
      echo $((2+1))   数值判断后输出
      
    • let用于整数计算,类似于(())
      let i=i+1等同于((i=i+1))
      
    • expr 求表达式的值
      expr 1 + 1注意空格的使用
      
      可以使用expr判断一个数是否为整数,$?变量保存了上一条命令的输出,使用未知变量与一个整数相加,如果返回值是0就代表该未知变量是整数,否则不是整数
       expr $a + 5 &>/dev/null
       RETRAL_A=$?
       expr $b + 5 &>/dev/null
       RETRAL_B=$?
       if [ $RETRAL_A -ne 0 -o $RETRAL_B -ne 0 ]
       then
           echo "your have input two number"
           exit 2
       fi
      
    • $[]整数运算
      i=$[1+1]
  2. 条件测试
    形式如下,[]和内容,以及逻辑运算符之间至少有一个空格
    test <expression>
        test -f file || echo exist
    [ expression ]
        [ -z "$1" -a -z "$2" ]注意空格的使用
    [[ expression ]]
        [[ -f file && -f file2 ]]
    (( expression ))
        (($num<10))
    
    • 文件测试


    • 字符串测试表达式,注意判断符号的两端要有空格,最好将变量加上双引号后进行比较测试


    • 整数测试比较


    • 逻辑操作符


    • 区别总结


    • 特殊的判断结构
      当条件1成立时执行后面的命令块儿
      test condition1 && {
      command1
      command2
      }
      [ condition1  ] && {
      command1
      command2
      }
      [[ condition1 ]]  && {
      command1
      command2
      } 
      
      当条件1成立时执行命令2,否则执行命令3
      [ condition1 ] && command2 || command3
      
  3. if语句
    • 形式1(推荐)if语句可以嵌套
      if [ condition ]
      then
            command
      fi
      
    • 形式2
      if [ condition ] ; then
            command
      fi
      
    • 多分支结构
      if [ condition1 ] 
      then
          command1
      elif [ condition2 ]
      then
          command2
      else
          command3
      fi
      
  4. 判断数字的思路
    • 使用expr根据返回值来判断
      expr $num + 5 ; [ $? -eq 0 ]
    • 替换变量中的所有数字,随后看字符串是否为空
      使用sed
      [ -n " echo xiaozhi123 | sed 's/[0-9]//g' " ]
      使用变量替换
      ${param//[0-9]/}
  5. 示例
    • 判断数据类型,使用特殊判断结构,使用expr判断数字
      while true
      do
          read -p "please input:" a
          expr $a + 5 &>/dev/null
          [ $? -eq 0 ] && echo int || echo char
      done
      
    • 验证数据类型,然后做四则运算
      [ $# -ne 2 ] && {
          echo -e "your must give two arguments!\n"
          exit 1
      }
      a=$1
      b=$2
      expr $a + 5 &>/dev/null
      RETRAL_A=$?
      expr $b + 5 &>/dev/null
      RETRAL_B=$?
      if [ $RETRAL_A -ne 0 -o $RETRAL_B -ne 0 ]
      then
          echo "your have input two number"
          exit 2
      fi
      
      echo "a+b=$(($a+$b))"
      echo "a-b=$(($a-$b))"
      echo "a*b=$(($a*$b))"
      echo "a/b=$(($a/$b))"
      
    • 判断数据类型,比较大小
      read -p "please type two num:" a b
      if [ -z "$a" -o -z "$b" ]
      then
          echo "you must type two arguments"
          exit 1
      fi
      expr $a + 5 &> /dev/null
      RETRAL_A=$?
      expr $b + 5 &> /dev/null
      RETRAL_B=$?
      if [ $RETRAL_A -eq 0 -a $RETRAL_B -eq 0 ]
      then
          if [ $a -lt $b ]
          then
              echo "$a<$b"
          elif [ $a -gt $b ]
          then
              echo "$a>$b"
          else
              echo "$a=$b"
          fi
      else
          echo "you must input two num"
      fi  
      

相关文章

  • 数值计算与条件判断

    算术运算命令在shell脚本编程中,可以使用的运算符很多,和C语言基本一致我们需要了解掌握的是一些运算命令(())...

  • linux学习笔记---4:if,for,while,命令组

    if条件句 if-then语句: if-then-else语句: if 条件语句的常见用法: 数值判断,字符串判断...

  • python条件判断

    与计算机沟通的逻辑:条件判断 让计算机明确,在什么条件下,做什么? if XXX #条件 print(XXX...

  • Python风变0819

    今天第2关:条件判断与条件嵌套,学习了条件判断的三种表现形式。 核心:就是如果……就…… 告诉计算机:在【什么】条...

  • 鞭策自己之强行记python从0开始学习笔记 3

    Python学习-正确的沟通逻辑20190119&20 1-1条件判断 与计算机沟通的逻辑——条件判断,其作用就是...

  • 2019-02-14

    2019-02-1412.4.1 判断奇偶性MOD函数计算数值除以2的余数,利用余数的大小判断数值的奇偶性。例:利...

  • “老奶奶”的python学习笔记(2)

    知识体系 第2关:条件判断if/elif...else 知识点 与计算机沟通,向计算机发出指令 特别要注意:在判断...

  • 学习笔记4

    关于条件语句switch case switch case 结构switch(判断){case 数值:语句bre...

  • Python条件判断、if嵌套学习笔记

    一、什么是条件判断? 计算机沟通的逻辑——条件判断,即明确地让计算机知道,在什么条件下,该去做什么。 比方说, 我...

  • 2022-04-02风云编程第2讲条件判断

    下命令的如果…就… 逻辑,就是与计算机沟通的逻辑——条件判断,其作用就是明确地让计算机知道:在什么条件下,该去做什...

网友评论

      本文标题:数值计算与条件判断

      本文链接:https://www.haomeiwen.com/subject/vggwrftx.html