BASH IF DEMENSACIONES si, elif, de lo contrario, entonces, FI

BASH IF DEMENSACIONES si, elif, de lo contrario, entonces, FI

Si recién está comenzando a explorar el lenguaje de codificación bash, pronto se encontrará con ganas de crear declaraciones condicionales. Las declaraciones condicionales, en otras palabras, definen 'si una condición es verdadera o falsa, entonces haz esto o aquello, y si lo contrario es verdadero, haz algo demás'. Esta es la función más básica de cualquier declaración condicional.

Este artículo le presentará los cinco básicos si cláusulas de declaración. ser si, género, demás, entonces y FI. El primero simplemente abre un si declaración, el entonces presenta el qué comanda ejecutar si la condición de la declaración era verdadera sección y el demás presenta el Qué comanda ejecutar si la condición de la declaración era falsa sección. Finalmente, el FI cierra la declaración. También tenemos el especial género en el que veremos más en un minuto. Comencemos con un ejemplo fácil.

En este tutorial aprenderás:

  • Cómo implementar un si Declaración en la línea de comandos Bash
  • Como tal si Las declaraciones también se pueden usar dentro de los scripts de Bash
  • Ejemplos que te muestran el si, género, demás, entonces y FI Cláusulas en Bash
BASH IF Declaraciones: si, elif, de lo contrario, entonces, FI

Requisitos y convenciones de software utilizados

Requisitos de software y convenciones de línea de comandos de Linux
Categoría Requisitos, convenciones o versión de software utilizada
Sistema Independiente de la distribución de Linux
Software Línea de comando bash, sistema basado en Linux
Otro Cualquier utilidad que no esté incluida en el shell bash de forma predeterminada se puede instalar utilizando sudo apt-get instalación de utilidad de utilidad (o yum instalación para sistemas basados ​​en redhat)
Convenciones # - requiere que los comandos de Linux se ejecuten con privilegios raíz directamente como un usuario raíz o mediante el uso de sudo dominio
$-Requiere que los comandos de Linux se ejecuten como un usuario regular no privilegiado

Ejemplo 1: Declaración SIMPLE IF en la línea de comandos

$ if [1 -eq 1]; Entonces Echo "coincidió!"; FI coincidió! 

En esta declaración, estamos comparando uno a uno. Tenga en cuenta que -ecualización significar igual a. Para hacer lo contrario, uno puede usar -nordeste lo que significa no igual a, Como se muestra en el siguiente ejemplo:

$ if [0 -ne 1]; Entonces Echo "coincidió!"; FI coincidió! 

En este caso, verificamos la falta de igualdad, y como 0 no es igual a 1 el si la declaración es verdadera, y los comandos después del entonces será ejecutado. Cambiemos esto ligeramente:

$ if [1 -ne 1]; Entonces Echo "coincidió!"; de lo contrario, el eco" no emparejado!"; Fi no emparejado! 

Aquí presentamos un demás cláusula; qué comanda ejecutar cuando la condición en el si la declaración ha demostrado ser falsa (o no es verdad). Mientras intentamos consultar si 1 no es igual (-nordeste) a 1 esta vez, y como 1 Hace igual 1 (que no es el caso), la condición formulada en este si la declaración es falsa, y nos encontramos con nuestro demás declaración con el texto coincidente impreso.

Ejemplo 2: Uso de y si la declaración desde dentro de un script de shell bash

Es bueno tener en cuenta que puede copiar y pegar fácilmente cualquier si Declaración que se muestra aquí o en otro lugar, y úsela dentro de un script de shell bash. Por ejemplo:

$ echo '#!/bin/bash '> myScript.sh $ echo 'if [1 -eq 1]; Entonces Echo "coincidió!"; fi '>> myScript.sh $ chmod +x myscript.sh $ ./MyScript.SH coincidiendo! ps 
Copiar

Aquí simplemente creamos un pequeño myscript.mierda shell script usando eco y el > redirector para redirigir la salida de nuestro eco a un archivo. Cuando usas > Se creará un nuevo archivo, y cualquier archivo con el mismo nombre se sobrescribirá, así que úselo con cuidado. A continuación, agregamos nuestra declaración IF nuevamente usando Echo y un doble redirector >> Que diferente > no creará un archivo nuevo y simplemente agregará texto al archivo indicado.

Luego, nosotros chmod +x el script para que sea ejecutable y ejecute el script usando el ./ Prefijo que se requiere en Bash (cualquier especificador de ruta correcto funcionará).

La primera línea del script es simplemente asegurarnos de usar el intérprete bash para nuestro script. Es una buena práctica establecer esto siempre para Bash y otros scripts (para otros scripts, querrá establecer esto en cualquier intérprete que ejecute su script, por ejemplo #!/usr/bin/python3 para una pitón 3 (.py3 por ejemplo) scripts, etc.).

Cuando ejecutamos el script, podemos ver que la salida se está generando como se esperaba (1 partidos 1) Coincidente!.

Ejemplo 3: ¿Qué es elif??

El género La cláusula nos proporciona una flexibilidad extra-mortificación, corta corta las declaraciones anidadas. Considera lo siguiente prueba.mierda:

#!/bin/bash if [0 -eq 1]; entonces echo '0 = 1' else si [0 -eq 2]; Entonces echo '0 = 2' else echo '0!= 2 'fi Fi 
Copiar

Y la salida del mismo:

ps ./prueba.SH 0!= 2 


Aquí atravesamos el primero si declaración, y desde 0 no coincide 1, el demás Se activa la cláusula. Esto sucede por segunda vez cuando 0 también resulta desigual a 2 y de ahí el -ecualización (igual a) la condición falla, y la segunda demás La cláusula se activa, dando como salida 0!= 2. Comparemos esto con un género declaración basada en el siguiente test2.mierda.

#!/bin/bash if [0 -eq 1]; luego echo '0 = 1' elif [0 -eq 2]; Entonces echo '0 = 2' else echo '0!= 2 'Fi 
Copiar

Y la salida del mismo:

ps ./Test2.SH 0!= 2 

El guión hizo exactamente lo mismo, pero de una manera mucho más flexible y más corta, requiriendo solo un nivel de si profundidad de la declaración y con código general más limpio. Tenga en cuenta también que es posible tener uno si declaración seguida de muchos elseif declaraciones, permitir que un desarrollador pruebe una variedad de condiciones es una estructura de un solo nivel de aspecto ordenado.

Conclusión

En este artículo, exploramos ejemplos que ejemplifican el si, género, demás, entonces y FI Cláusulas en Bash. También observamos cómo implementar si declaraciones en la línea de comandos bash. También buscamos mover tales declaraciones a los scripts de Bash. Disfrutar si declaraciones en Bash, y déjanos algunos pensamientos con tu mejor si consejos y trucos!

Y, para una mirada algo más avanzada a lo que si Puede hacer por usted cuando se combina con subshells, consulte nuestros subshells de How to Using Inside si el artículo de declaraciones!

Tutoriales de Linux relacionados:

  • Mastering Bash Script Loops
  • Una introducción a la automatización, herramientas y técnicas de Linux
  • Cosas para instalar en Ubuntu 20.04
  • Bucles anidados en guiones Bash
  • Cosas que hacer después de instalar Ubuntu 20.04 fossa focal Linux
  • Scripting Bash: condicionales
  • Cómo usar subshells Bash dentro de declaraciones
  • Bash Loops con ejemplos
  • Mint 20: Mejor que Ubuntu y Microsoft Windows?
  • Ubuntu 20.04 Guía