BASH IF DEMENSACIONES si, elif, de lo contrario, entonces, FI
- 651
- 102
- Sta. Enrique Santiago
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
yFI
Cláusulas en Bash
Requisitos y convenciones de software utilizados
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
- « Cómo eliminar el servidor web Apache de Ubuntu
- Gestión de la lista de procesos y terminación automática de procesos »