Control de flujo de shell de Linux (condición if, loop [for, while], seleccione [caso] instancia de sentencia

  
 

El shell de Linux tiene su propio conjunto de sentencias de control de flujo, incluidas sentencias condicionales (si), sentencias de bucle (para, while) y sentencias de selección (caso). A continuación voy a introducir el uso de cada declaración mediante el ejemplo.


Primero, instrucciones condicionales del shell (si se usa)

estructura de la instrucción if [if /then /elif /else /fi]


si es una declaración de prueba condicional

entonces

acción

[condición de elif

acción

else

Acción

]

fi


Si no está claro acerca de la declaración de prueba condicional, puede consultar: operadores lógicos de shell de Linux, expresiones lógicas

El comando de shell se puede dividir por punto y coma o por salto de línea. Si desea escribir varios comandos en una línea, puede dividirlos por " '; ".

como:

[chengmo @ CentOS5 ~] $ a = 5; si [[a -gt 4]]; then echo 'bien'; fi; ok


ejemplo: (test.sh)

# /bin /sh

partituras = 40; si [[anota $ -gt 90]]; entonces eco "! ! muy bueno "; elif [[$ puntuaciones -gt 80]]; a continuación, echo " "; buena elif [[$ puntuaciones -gt 60]];! continuación, echo " "; pasar a otra cosa eco " !; No pass! &Quot;; fi;



Las pruebas condicionales son: [[], [], prueba These, note: [[]] Las variables están separadas por espacios.


Segundo, declaración de bucle (para, mientras, hasta que se use):

  • para el método de bucle (para /hacer /hecho)

    Estructura de la sintaxis:

    1.for … in statement

    para la variable en seq string

    do

    acción

    hecho

    Descripción: ss larga cadena división espacio de carácter, cada uno por y hellip; en el tiempo de leer, se le lee secuencialmente el valor de la primera variable.

    Ejemplo (testfor.sh):

    # /bin /sh

    for i in $ (SEC 10); do echo $ i; hecho;
    !


    seq 10 produce 1 2 3. . . . 10 cuerdas separadas por espacios.

    2.for ((asignación; condición; declaración de operación))

    para ((asignación; condición; declaración de operación))

    hacer

    acción

    hecho;

    ejemplo (testfor2.sh) :!

    # /bin /sh

    para ((i = 1; i < = 10; i ++)); do echo $ i; done;





  • while loop (while /do /done) < Br>

    mientras que la estructura de la sentencia

    mientras que la sentencia condicional

    hace

    acción

    finalizada,

    Instancia 1 :

    # /bin /shi = 10, mientras que [[$ i -gt 5]]; do echo $ i; ((i -)); hecho;

    resultados de operación! : ========================

    sh testwhile1.sh109876

    ejemplo 2 :( bucle lee el contenido del archivo :)

    #! /bin /sh

    mientras lee la línea; haga eco de $ line; done < /etc /hosts;


    Ejecutar los resultados: ===================

    sh testwhile2.sh

    # no quite la siguiente línea, o varios programas que # requerir funcionalidad de la red se fail.127.0.0.1 CentOS5 localhost.localdomain localhost

  • hasta bucle

    estructura sintaxis:

    hasta que las condiciones

    do

    action

    hecho

    significa: Salir hasta que se cumpla la condición. De lo contrario ejecución de la acción

    Ejemplo (testuntil.sh):

    # /bin /sh

    a = 10;

    hasta [[$ a! -lt 0]]; hacer

    echo $ a;

    ((a —));

    hecho;

    resultados:

    sh testuntil.sh

    109876543210

    tres, cáscara de instrucción de selección (caso, seleccione uso)

  • selección de los casos que se utiliza (caso /esac)

    Estructura de sintaxis

    caso $ arg en patrón

  • Copyright © Conocimiento de Windows All Rights Reserved