• Shell学习笔记——算数运算与条件测试


    算数运算

    1. 使用let命令   

    #!/sbin/bash
    var1=2
    var2=3
    let sum=var1+var2
    echo $sum


    使用let命令式,变量前不需要加$号
    只用于整数运算,不适用浮点数

    2. 使用$[...]

    []的使用与let类似
    #!/sbin/bash
    var1=2
    var2=3
    sum=$[ var1+var2 ]
    echo $sum
    通let一样,变量不需要使用$,但是计算结果需要在[前使用$
    只用于整数运算,不适用浮点数

    3 使用$((...))

    #!/sbin/bash
    var1=2
    var2=3
    sum=$((var1+var2)) 
    echo $sum
    用法类似于$[...]
    只用于整数运算,不适用浮点数   

    4 expr

    #!/sbin/bash
    var1=2
    var2=3
    sum=`expr $var1 + $var2`
    echo $sum
    注意 反单引号```的使用,还有变量前需要使用$,另运算法两边需要有空格

    5 可以用于浮点数计算的bc工具

    #!/sbin/bash
    var1=2.6
    var2=3
    sum=`echo "$var1 * $var2" | bc`
    echo $sum

    bc工具还可以通过scale进行精度设置,并且具有进制转换等功能。


    条件测试

    算数比较
    比较运算符:
    -eq 等于
    -ne 不等于
    -gt 大于
    -lt 小于
    -ge 大于等于
    -le 小于等于
    用法如下:
    [ $var1 -eq $var2 ]
    逻辑运算符
    -a  且
    -o 或
    用例:
    [ $var1 -eq 0 -a $var2 -ne 2 ]
    文件测试
    [ -f $file_var ]<span style="white-space:pre">	</span>//判断是否为普通文件或路径,是的话返回真
    [ -x $var ]		//判断是否为可执行文件
    [ -d $var ]		//判断是否为目录
    [ -e $var ]		//判断文件是否存在
    [ -c $var ]		//判断是否为字符设备文件
    [ -b $var ]		//判断是否为块设备文件
    [ -w $var ]		//判断文件是否可写
    [ -r $var ]		//判断文件是否可读
    [ -L $var ]		//判断文件是否为符号链接

    用法
    if condition then
    fpath="/etc/passwd"
    if [ -e $fpath ]; then
    	echo "$fpath exist!"
    else
    	echo "$fpath exist!"
    fi
    

    字符串比较

    字符串比较可以直接使用 ==  > < >= <=符号

    -z    // 判断是否为空字符串
    -n    //判断是否为非空字符串

    判断表达式 [ ]  可以用test替代













  • 相关阅读:
    数据库设计三大范式
    导航下拉栏 简单方法
    原生js制作弹出框
    原生js和jquery实现图片轮播特效
    用js 做大图轮播方法(一)
    Apple 企业开发者账号申请记录
    libnids介
    n++ ++n
    空指针为什么能调用成员函数?
    c++单例
  • 原文地址:https://www.cnblogs.com/Windeal/p/4284632.html
Copyright © 2020-2023  润新知