zoukankan      html  css  js  c++  java
  • shell 语句

    注意:
    1变量等号两边不能有空格
    2 expr 指令必须要用转义字符‘’
    3 expr里面的加减乘除必须有空格
    因为脚本需要通过这些来识别语句
    #!/bin/bash  
    A=`expr 3 + 5 * 3`  #注意这个引号是在ESC下面的引号哦,*需要转义字符 
    echo $A
    
    B=`expr 3 / 5`
    echo $B
    
    C=`expr 3 % 5`
    echo $C
    

      

    3测试语句
         (1)test语句
        test语句可测试三种对象:
                  字符串     整数     文件属性
         (2)每种测试对象都有若干测试操作符
        例如:
                  test  "$answer"  =  "yes"
                  变量answer的值是否为字符串yes
                  test  $num –eq  18
                  变量num的值是否为整数18
                  test  -d  tmp    
                  测试tmp是否为一个目录名
         (3) 字符串测试
         s1 = s2     测试两个字符串的内容是否完全一样
         s1 != s2    测试两个字符串的内容是否有差异
         -z s1     测试s1 字符串的长度是否为0
         -n s1     测试s1 字符串的长度是否不为0
         (4) 整数测试
         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
         (5) 文件测试
         -d name    测试name 是否为一个目录
         -e name    测试一个文件是否存在
         -f name    测试name 是否为普通文件
         -L name    测试name 是否为符号链接
         -r name    测试name 文件是否存在且为可读
         -w name    测试name 文件是否存在且为可写
         -x name    测试name 文件是否存在且为可执行
         -s name    测试name 文件是否存在且其长度不为0
         f1 -nt f2  测试文件f1 是否比文件f2 更新
         f1 -ot f2  测试文件f1 是否比文件f2 更旧

    相关代码

    #!/bin/bash  #注意声明 类似C语言的字符串比较函数
    
    A="how"
    B="how"
    test $A = $B
    echo $?
    
    pwd
    echo $?
    
    #test ls 
    #echo $?
    
    A=`expr 3 + 5`  $不可以用echoz直接输出
    echo $A
    #!/bin/bash  #数据比较,类似C语言的判断预计
     
    A=434
    B=434
    test $A -le $B
    echo $?
    #!/bin/bash   $文件的测试比较函数
    test -d /home/linux/HUA_QING_YUAN_JIAN/level_2/day3_shell/expr.sh 
    echo $?
    
    
    test -r /home/linux/HUA_QING_YUAN_JIAN/level_2/day3_shell/expr.sh 
    echo $?
    
    test -w /home/linux/HUA_QING_YUAN_JIAN/level_2/day3_shell/expr.sh 
    echo $?
    
    test -e /home/linux/HUA_QING_YUAN_JIAN/level_2/day3_shell/expr.sh 
    echo $?
    
    
    test -f /home/linux/HUA_QING_YUAN_JIAN/level_2/day3_shell/expr.sh   $可以直接用HOME来代替/home/linux 指令哦
    echo $?
    
    test -L /home/linux/HUA_QING_YUAN_JIAN/level_2/day3_shell/expr.sh 
    echo $?
    
    
    test -x /home/linux/HUA_QING_YUAN_JIAN/level_2/day3_shell/expr.sh 
    echo $?
    
    
    test -s $HOME/HUA_QING_YUAN_JIAN/level_2/day3_shell/expr.sh 
    echo $?
  • 相关阅读:
    《面向对象》读书笔记4
    《面向对象》读书笔记3
    《面向对象》读书笔记2
    《面向对象》读书笔记1
    B树
    树的子结构
    最长公共子序列
    最长公共子串
    堆和堆排序
    位图的原理和简单实现
  • 原文地址:https://www.cnblogs.com/jack-hzm/p/10165925.html
Copyright © 2011-2022 走看看