CONDICIONES

Es fundamental para todos los lenguajes de programación tener la capacidad de comprobar las condiciones y de realizar diferentes acciones basándose en esas decisiones. Vamos a ver las construcciones condicionales que podemos usar en los script shell y después vamos a examinar las estructuras de control que las emplean.

Un script shell puede comprobar el código de salida de cualquier comando invocado desde la línea de comando, incluyendo los scripts que usted mismo ha escrito. Por eso es muy importante incluir siempre un comando exit con un valor al final de todos los scripts que escriba.

El comando TEST o [

En la práctica, la mayoría de los scripts usan con frecuencia el comando [ o test, la comprobación booleana de la shell. En algunos sistemas los comandos [ y test son idénticos, salvo que al usar el comando [, se usa otro corchete ] de cierra para facilitar la lectura.

nota>

Vamos  a presentar el comando test usando una de las condiciones más sencillas: comprobando si un archivo existe. El comando necesario para dicha tarea es test -f <filename>, de manera que dentro de un script podrá escribir:

test_ejemplo1
También lo podemos escribir así:

test_ejemplo2
El código de salida del comando test (si se cumple la condición) determina si el código condicional se está ejecutando.

nota_test_1

Los tipos de condiciones que se pueden usar con el comando test son tres:

  1. Comparación de cadenascomparacion_cadena
  2. Comparación aritméticacomparacion_aritmetica
  3. Condicionales de archivo.condicional_archivo

nota_2

Comprobaremos con este ejemplo el estado del archivo /bin/bash, así podremos ver cómo sería la puesta en práctica.

test_comprueba

recuerda que entre el [ y -f hay un espacio (como vemos en la segunda línea). Despues de darle permiso de ejecución lo ejecutamos:

script_ejemplo_test

Para ver la lista completa del comando test usaremos el comando help test para obtener más detalles.

help_testTe invitamos a que experimentes con varios ejemplos de la lista mostrada si escribes en el terminal help test.

atras

Deja un comentario

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.