• Day 12 shell语法及程序若干


    1. 现归纳一下shell中的运算符:   
        +:对两个变量做加法。
        -:对两个变量做减法。
        *:对两个变量做乘法。
        /:对两个变量做除法。
        **:对两个变量做幂运算。
        %:取模运算,第一个变量除以第二个变量求余数。
        +=:加等于,在自身基础上加第二个变量。
        -=:减等于,在第一个变量的基础上减去第二个变量。
        *=:乘等于,在第一个变量的基础上乘以第二个变量。
        /=:除等于,在第一个变量的基础上除以第二个变量。
        %=:取模赋值,第一个变量对第二个变量取模运算,再赋值给第一个变量。

    程序:实现数学函数S=3(xy)+4x2+5y+6的运算。在程序中以位置变量的方式输入x与y的值。如下:

      1 #1/bin/bash
      2 #实现S=3(xy)+4x**2+5y+6的运算
      3 
      4 read -p 'input x: ' x
      5 read -p 'input y: ' y
      6 #S = $[3*x*y]+$[x**2*4]+$[5*y]+6
      7 S=$[3*x*y+x**2*4+5*y+6]
      8 echo $S
    程序 一

    2. 运算常用的命令:

        a. 用let指示数学运算。可以先将运算的结果赋值给变量b,运算命令是b=let 1 + 2。然后用echo $b来输出b的值。如果没有let,则会输出1+2。

        b. 用$[]表示数学运算。将一个数学运算写到$[]符号的中括号中,中括号中的内容将先进行数学运算。例如命令echo $[1+2],将输出结果3。

        c. 用expr改变运算顺序。可以用echo `expr 1 + 2`来输出1+2的结果,用expr表示后面的表达式为一个数学运算。需要注意的是,`并不是一个单引号,而是“Tab”键上面的那个符号。
        d. 用bc表示数学运算。可以结合echo命令一起使用,例如:echo “3.21*2” | bc 来计算 3.21*2 这种浮点运算

        e. 使用awk表示数学命令.如:echo 2 | awk '{print $1**32}'  

    3、关系操作符

     <  小于

    >  大于   

    >=  大于等于     

    <=  小于等于    

    ==  等于   

    !=  不等于   

    &&  逻辑与(都对)   

    ||  逻辑或(任意对,从左往右)

    $ 符号在Linux系统里面用于获取一个变量的值,例如:
    #!/bin/bash --------指定编译shell环境为bash
    STR="Hello World!"----设置STR的变量值为Hello World!
    echo $STR ------ 用echo命令读取STR变量的数值。这里如果不加$, 输出结果是STR,加上$,输出结果就是Hello World!。


    测试!!!
        比较数字,使用(( )) ###数字与比较符号可以紧邻着
        其他测试使用 [[ ]]  ###里面中括号前后空一格,语法生效
        包含数字比较的混合测试,使用标准语法
    程序:验证登录用户与密码是否正确?
    验证用户名与密码

      程序:判断文件类型。

    判断文件类型

      程序:查询成绩。

      1 #!/bin/bash
      2 
      3 read -p 'input your score: ' score
      4 
      5 if [ $score -eq 100 ];then
      6     echo '完美'
      7 elif [ $score -ge 90 -a $score -lt 100 ];then
      8     echo '优秀'
      9 elif [ $score -ge 60 -a $score -lt 90 ];then
     10     echo '良好'
     11 elif [ $score -ge 0 -a $score -lt 60 ];then
     12     echo '再接再厉'
     13 else
     14     echo '别捣乱!'
     15 
     16 fi
    查询成绩

       程序:猜年龄。

      1 #!/bin/bash
      2 oldboyage=99
      3 
      4 read -p 'input oldboy age: ' age
      5 
      6 if [ $age -eq $oldboyage ];then
      7     echo '你真牛逼!'
      8 elif [ $age -gt $oldboyage ];then
      9     echo '太大了!'
     10 elif [ $age -lt $oldboyage ];then
     11     echo '太小了' 
     12 fi
    猜年龄

      程序:while循环。

      1 #!/bin/bash
      2 
      3 i=1
      4 
      5 while ((i<10))
      6 do
      7     echo $i
      8     ((i++))
      9     sleep $i
     10 done
    while循环1

      程序:for循环。

    for循环1
      1 #!/bin/bash
      2 
      3 for i in {1..10}
      4 do
      5     echo $i
      6     sleep $i
      7 done




    1、如何使用vi/vim显示行号(永久):
  • 相关阅读:
    crossvcl使用
    CSS垂直居中的方法
    IIS7 启用GZip压缩
    javascript arguments解释,实现可变长参数。
    DataTable转List<dynamic>
    Bootstrap表单
    Func<T>、Action<T> 的区别于说明
    jQuery.fn.extend() 与 jQuery.extend()
    javascript this关键字指向详解
    javascript call与apply关键字的作用
  • 原文地址:https://www.cnblogs.com/LiChaoAI/p/6945115.html
Copyright © 2020-2023  润新知