zoukankan      html  css  js  c++  java
  • shell 脚本 功能性语句 read,expr,test

    1. read 从终端输入数据赋值给变量
        read val  把读入的数据存放到val中

    #!/bin/bash
    
    echo -n "please input two number :"   
    read A B
    echo "$A = $A $B = $B"
    
    #-p 输出提示信息
    read -p "please input two number : " A B
    
    #-t 在设定的时间范围内输入,如果时间到达还没输入,不给变量赋值直接结束
    read -t 5 -p "please input two number :" A B
    
    #-n 在设定的字符长度内容输入,如果达到字符长度,直接结束并赋值,没有没有达到,需要自己敲回车,输入是自带空格的
    read -n 5 -p "please input two number :" A
    echo "$A = $A"
    
    #-s隐藏输入的内容
    read -s -p "please input two number :" A B
    echo "$A = $A $B = $B"
    

     

     2. expr  算术运算命令,+ - * / %

    注意事项:(1)  * 号要加转译字符才能使用

           (2) 双引号使特殊符号没有了特殊意义,除了$ `

           (3) 单引号使特殊符号没有了特殊意义

    #!/bin/bash
    
    # 注意空格 不能多也不能少
    A=`expr 10 + 20`
    echo "$A = $A"
    
    B=`expr 10 - 20`
    echo "$B = $B"
    
    # 乘号需要转译
    C=`expr 10 * 20`
    echo "$C = $C"
    
    D=`expr 180 / 20`
    echo "$D = $D"
    
    E=`expr 10 % 20`
    echo "$E = $E"
    
    # 注意 + 前后不能有空格
    let F=100+2000
    echo "$F = $F"
    
    # + 左右空格随意
    G=$((16+35))
    echo "$G = $G"
    
    H=$[16 +65]
    echo "$H = $H"
    

     运行结果:

    3. test   测试整数, 字符串 , 文件

    测试 字符串、整数、文件属性
    (1)--字符串测试
      s1 = s2 测试两个字符串的内容是否完全一样
      s1 != s2 测试两个字符串的内容是否有差异
      -z s 测试字符串的长度是否为0
      -n s 测试字符串的长度是否不为0
    (2)--整数测试
      a -eq b 测试a和b是否相等
      a -ne b 测试a和b是否不相等
      a -gt b 测试a是否大于b
      a -ge b 测试a是否大于等于b
      a -lt b 测试a是否小于b
      a -le b 测试a是否小于等于b
    (3)--文件测试
      -e 测试文件是否存在
      -s 测试文件是否不为空
      -b 判断是否是一个块设备文件
      -c 判断是否是一个字符设备文件
      -d 判断是否是一个目录
      -f 判断是否是一个普通文件
      -L 判断是否是一个符号链接
      -S 判断是否是一个套接字文件
      -p 判断是否是一个管道文件

      file1 -nt file2 file1是否比file2文件的修改时间新
      file1 -ot file2 file1是否比file2文件的修改时间旧
      file1 -ef file2 两个文件的inode是否一致,可以判断是否为硬链接

  • 相关阅读:
    什么是https?
    Gojs
    GoJs 01讲解
    你真的了解WebSocket吗?
    django channels
    序列化及反序列化
    全角转半角
    Thread Culture
    设置输入法
    token的认证使用
  • 原文地址:https://www.cnblogs.com/electronic/p/10832033.html
Copyright © 2011-2022 走看看