Skip to main content

Cómo escribir una declaración IF de Bash (condicionales)

COMO HACER UNA CENEFA PARA CORTINAS, tutorial. (Abril 2025)

COMO HACER UNA CENEFA PARA CORTINAS, tutorial. (Abril 2025)
Anonim

Con una sentencia if, que es un tipo de sentencia condicional, puede realizar diferentes acciones dependiendo de las condiciones especificadas. Efectivamente le da al sistema la capacidad de tomar decisiones.

Un ejemplo de la forma más simple de una sentencia if sería:

count = 5 si $ count == 5 entonces echo "$ count" fi

En este ejemplo, la variable "recuento" se usa para especificar una condición que se usa como parte de la sentencia if. Antes de que se ejecute la instrucción if, a la variable "recuento" se le asigna el valor "5". La sentencia if luego verifica si el valor de "count" es "5". Si ese es el caso, la instrucción entre las palabras clave "entonces" y "fi" se ejecutan, de lo contrario, se ejecutarán las instrucciones que siguen a la instrucción if. La palabra clave "fi" es "si" se escribe al revés. El lenguaje de scripts de bash usa esta convención para marcar el final de una expresión compleja, como una declaración if o declaraciones de caso.

La declaración "echo" imprime su argumento, en este caso, el valor de la variable "recuento", en la ventana del terminal. La sangría del código entre las palabras clave de la sentencia if mejora la legibilidad, pero no es necesaria.

Si tiene una situación en la que un código debe ejecutarse solo si una condición no es verdadera, puede usar la palabra clave "else" en una declaración if, como en este ejemplo:

count = 5 si $ count == 5 entonces echo "$ count" else echo "count no es 5" fi

Si la condición "$ count == 5" es verdadera, el sistema imprime el valor de la variable "recuento", de lo contrario imprime la cadena "recuento no es 5".

Si desea diferenciar entre varias condiciones, puede usar la palabra clave "elif", que se deriva de "else if", como en este ejemplo:

si $ count == 5 entonces echo "count es cinco" elif $ count == 6 entonces echo "count is six" o echo echo "ninguno de los anteriores" fi

Si "recuento" es "5", el sistema imprime "recuento es cinco". Si "recuento" no es "5" sino "6", el sistema imprime "recuento es seis". Si no es ni "5" ni "6", el sistema no imprime "ninguno de los anteriores".

Como puede haber adivinado, puede tener cualquier número de cláusulas "elif". Un ejemplo con múltiples condiciones "elif" sería:

si $ count == 5 entonces echo "cuenta es cinco" elif $ count == 6 entonces echo "cuenta es seis" elif $ count == 7 entonces echo "cuenta es siete" elif $ count = = 8 luego el eco "el conteo es ocho" elif $ count == 9 luego el eco "el conteo es el nueve" o si no el eco "ninguno de los anteriores" fi

Una forma más compacta de escribir tales declaraciones con múltiples condiciones es el método del caso. Funciona de forma similar a la sentencia if con varias cláusulas "elif" pero es más conciso. Por ejemplo, el fragmento de código anterior se puede volver a escribir con la declaración del "caso" de la siguiente manera:

el caso "$ count" en 5) echo "cuenta es cinco"; 6) el eco "cuenta es seis"; 7) el eco "cuenta es siete"; 8) el eco "cuenta es ocho"; 9) el eco "cuenta es nueve"; *) echo "ninguno de los anteriores" esac

Las sentencias if se usan a menudo dentro de for-loops o while-loops como en este ejemplo:

count = 1 done = 0 mientras que $ count -le 9 duerme 1 ((count ++)) si $ count == 5 continúa con el eco de "$ count" el eco finalizado

También puede haber anidado si las declaraciones. Más simple anidado si la declaración es de la forma: si … entonces … más … si … entonces … fi … fi. Sin embargo, if-statement puede anidarse con complejidad arbitraria.

Vea también cómo pasar argumentos a una secuencia de comandos de bash, que muestra cómo usar condicionales para procesar parámetros pasados ​​desde la línea de comandos.

El shell bash proporciona otras construcciones de programación, como for-loops, while-loops y expresiones aritméticas.