zoukankan      html  css  js  c++  java
  • shell中的if表达式区分

    if快捷键

    [ ] && 如果为真则执行后面 

    [ ] || 如果为假则执行后面 

    文件表达式

    if [ -f  file ]    如果文件存在
    if [ -d dd   ]    如果目录存在
    if [ -s file  ]    如果文件存在且非空 
    if [ -r file  ]    如果文件存在且可读
    if [ -w file  ]    如果文件存在且可写
    if [ -x file  ]    如果文件存在且可执行  

    字符串表达式

    注意:“==” 的功能在[[]] 和[] 中是不一样的([[]]中不需要用转义字符)

    if [ "$string" != "string2" ]

    if [ "$string" =="string2" ]

    if [ "$string1" > "string2" ]

    if [ "$string1" < "string2" ] 或者是  if [[ "$string1" < "string2" ]]

    if  [ -n $string  ]             如果string 非空(非0),返回0(true) 
    if  [ -z $string  ]             如果string 为空
    if  [ $sting ]                  如果string 非空,返回0 (和-n类似) 
     

     整数变量表达式

    • -eq 等于,如:if [ "$a" -eq "$b" ]   
    • -ne 不等于,如:if [ "$a" -ne "$b" ]   
    • -gt 大于,如:if [ "$a" -gt "$b" ]   
    • -ge 大于等于,如:if [ "$a" -ge "$b" ]   
    • -lt 小于,如:if [ "$a" -lt "$b" ]   
    • -le 小于等于,如:if [ "$a" -le "$b" ]   
    • <   小于(需要双括号),如:(("$a" < "$b"))   
    • <=  小于等于(需要双括号),如:(("$a" <= "$b"))   
    • >   大于(需要双括号),如:(("$a" > "$b"))   
    • >=  大于等于(需要双括号),如:(("$a" >= "$b"))   
     

    逻辑表达式

     
        逻辑非 !               条件表达式的相反
    if [ ! 表达式 ]
    if [ ! -d $num ]        如果不存在目录$num
     
        逻辑与 –a              条件表达式的并列
    if [ 表达式1  –a  表达式2 ]
     
        逻辑或 -o               条件表达式的或
    if [ 表达式1  –o 表达式2 ]
    •     表达式与前面的=  != -d –f –x -ne -eq -lt等合用
    •     逻辑符号就正常的接其他表达式,没有任何括号( ),就是并列
    if [ -z "$JHHOME" -a -d $HOME/$num ]
    •     注意逻辑与-a与逻辑或-o很容易和其他字符串或文件的运算符号搞混了

     

     

     

  • 相关阅读:
    LG4377 「USACO2018OPEN」Talent Show 分数规划+背包
    LG4111/LOJ2122 「HEOI2015」小Z的房间 矩阵树定理
    LG5104 红包发红包 概率与期望
    LG2375/LOJ2246 「NOI2014」动物园 KMP改造
    LG4824 「USACO2015FEB」(Silver)Censoring KMP+栈
    20191004 「HZOJ NOIP2019 Round #9」20191004模拟
    LG5357 「模板」AC自动机(二次加强版) AC自动机+fail树
    LG3812 「模板」线性基 线性基
    数据结构
    git
  • 原文地址:https://www.cnblogs.com/scarlet-lai/p/6808142.html
Copyright © 2011-2022 走看看