• 8 shell五大运算


    shell的流程控制

    一、五大运算

    二、if语句

    一、五大运算

    1.数学比较运算---比较的是整型!!!!!!!!!!

    输入命令: man test 

    查看以下比较运算符的使用

    【note】test 命令的作用:检测文件类型或者是比较运算

        test - check file types and compare values

    • -eq  等于
    • -gt  大于
    • -ge 大于等于
    • -lt  小于
    • -le  小于等于
    • -ne 不等于

    test 只会运算,不会告诉结果;所以需要用到组合命令echo

    j:~/myself_study/shell_j$ test 9 -gt 7; echo $?
    0
    j:~/myself_study/shell_j$ test 8 -ge 8;echo $?
    0

    如果要比较float, 该怎么比较?----放大10的整数倍,变成整型的比较运算

    MBC02FV3MZMD6P:J_shell j$ echo "2.5*10" | bc
    25.0
    MBC02FV3MZMD6P:J_shell j$ echo "2.5*10"|bc|cut -d '.' -f1
    25
    MBC02FV3MZMD6P:J_shell j$ echo "2.5*10"|bc|cut -d '.' -f2
    0

    举例

    
    

    #!/bin/bash

    
    

    NUM1=`echo "1.5*10"|bc|cut -d "." -f1`
    NUM2=20
    test $NUM1 -ge $NUM2;echo $?

    执行:-x 表示debug,可以看到每一步的计算步骤

    2.文件的比较跟检查

    • -d 检查文件是否存在且为目录
    • -e 检查文件是否存在(可以是目录也可以是文件
    • -f 检查文件是否存在且为文件
    • -r 检查文件是否存在且可读
    • -s 检查文件是否存在且不为空
    • -w 检查文件是否存在且可写
    • -x 检查文件是否存在且可执行
    • file1 -nt file2 检查文件file1是否比file2新  (nt =new than)
    • ile1 -ot file2 检查文件file1是否比file2旧  (nt =old than)

     举例 -d:/tmp/abc目录不存在,创建后再test,存在

    3.字符串的比较运算

    • == 等于 
    • != 不等于
    • -n 检查字符串的长度是否大于0(字符串不为空)
    • -z 检查字符串的长度是否为0(字符串为空)

     

    4.赋值运算 =

    5.逻辑运算

    • && 与
    • ||  或
    • ! 非
  • 相关阅读:
    (转)Linux 信号说明列表
    linux下socket函数之listen的参数backlog
    (转)auto_ptr与shared_ptr
    (转)关于两次fork
    收集外链
    (转+整理)Linux下Makefile的automake生成全攻略
    LINUX socket编程(转载)errno.h
    (转) socket编程——sockaddr_in结构体操作
    k Nearest Neighbor Search by CUDA
    CUDA Anisotropic Diffusion on a 2D Image
  • 原文地址:https://www.cnblogs.com/ananmy/p/15672213.html
Copyright © 2020-2023  润新知