Prueba de condición de programación de Shell

  
 

I. Sintaxis de prueba condicional:

  • prueba de contenido
  • [contenido de prueba] ## Note que hay un espacio entre los corchetes y el contenido de prueba
  • [[ ,null,null,3],Contenido de la prueba]]
  • ((contenido de la prueba)) ## solo se puede usar para probar el valor del valor, que se detalla más adelante

    La sintaxis de las tres primeras pruebas es básicamente la misma.

    Segundo, prueba numérica:

    2.1 Prueba numérica común:

  • int1 -eq int2 Devuelve verdadero si int1 es igual a int2
  • Int1 -ne int2 Devuelve verdadero si int1 no es igual a int2
  • int1 -lt int2 Devuelve verdadero si int1 es menor que int2
  • int1 -gt int2 Devuelve verdadero si int1 es mayor que int2 Br>
  • int1 -le int2 Devuelve verdadero si int1 es menor o igual que int2
  • int1 -ge int2 Devuelve verdadero si int1 es mayor o igual que int2

    2.2 )) de prueba

  • < menor que (uso) ((" paréntesis dobles; int1 " < " int2 ")) es equivalente a [int1 -LT int2]


    [root @ server1 ~] # ((" 2 " < " 3 "))) [root @ server1 ~] # echo $? 0 [root @ server1 ~] # [ ,null,null,3],1 -lt 3] [root @ server1 ~] # echo $? 0

  • < = Menor o igual que (usado entre paréntesis dobles) ((" int1 " < = " int2 " )) es equivalente a [int1 -ne int2]
  • > es mayor que (usado entre corchetes dobles) ((< int1 " > " int2 ")) Igual que [int1-gt int2]
  • > = mayor que o igual a (usado entre corchetes dobles) (("int1" > = " int2 ")) es equivalente a [int1 -ge int2] < Br>

    Nota: La prueba de paréntesis doble no puede probar el caso de igual valor. Si usa la prueba de paréntesis doble, se mostrará el siguiente error:

    [root @ server1 ~] # ((" 2 " = " 3 ")) - bash: ((: 2 = 3: intento de asignación a la no variable (el token de error es " = 3 ")

    3, cadena de prueba:
    < Br>

  • -z string La cadena es una cadena vacía (longitud 0) Devuelve true
  • -n cadena La cadena devuelve true si es una cadena no vacía
  • str1 = str2 Devuelve verdadero si la cadena str1 y la cadena str2 son iguales
  • str1 == str2 same =
  • str1! = Str2 Devuelve verdadero si la cadena str1 y la cadena str2 no son iguales
  • str1 < str2 ordenados en orden lexicográfico, la cadena str1 no se usa antes de la cadena str2,
  • str1 > str2 está ordenada en orden lexicográfico, la cadena str1 está detrás de la cadena str2, generalmente no Utilizará

    Pruebe el ejemplo:

    [root @ server1 ~] # A = str [root @ server1 ~] # B = str [root @ server1 ~] # [$ A = $ B] [root @ server1 ~] # Echo $? 0 [root @ server1 ~] # B = Str [root @ server1 ~] # [$ A = $ B] [root @ server1 ~] # echo $? 1 [root @ server1 ~] # [-n $ B] [root @ server1 ~] # echo $? 0 [root @ server1 ~] # [-z $ B] [root @ server1 ~] # echo $? 1

  • Copyright © Conocimiento de Windows All Rights Reserved