En informática, las declaraciones condicionales, las expresiones condicionales y los constructos condicionales son características de un lenguaje de programación que realizan diferentes cálculos o acciones dependiendo de si una condición booleana especificada por el programador evalúa a verdadero o falso.
En Bash, las expresiones condicionales se utilizan mediante el comando compuesto [[
y los comandos incorporados [
para probar atributos de archivo y realizar comparaciones de cadenas y aritméticas.
Aquí hay una lista de las expresiones condicionales más populares de Bash. No tienes que memorizarlas de memoria; puedes referirte a esta lista siempre que la necesites.
Expresiones de archivo
- Verdadero si el archivo existe.
[[ -a ${file} ]]
- Verdadero si el archivo existe y es un archivo especial de bloque.
[[ -b ${file} ]]
- Verdadero si el archivo existe y es un archivo especial de carácter.
[[ -c ${file} ]]
- Verdadero si el archivo existe y es un directorio.
[[ -d ${file} ]]
- Verdadero si el archivo existe.
[[ -e ${file} ]]
- Verdadero si el archivo existe y es un archivo regular.
[[ -f ${file} ]]
- Verdadero si el archivo existe y es un enlace simbólico.
[[ -h ${file} ]]
- Verdadero si el archivo existe y es legible.
[[ -r ${file} ]]
- Verdadero si el archivo existe y tiene un tamaño mayor que cero.
[[ -s ${file} ]]
- Verdadero si el archivo existe y es escribible.
[[ -w ${file} ]]
- Verdadero si el archivo existe y es ejecutable.
[[ -x ${file} ]]
- Verdadero si el archivo existe y es un enlace simbólico.
[[ -L ${file} ]]
Expresiones de cadena
- Verdadero si la variable de shell
varname
está establecida (se le ha asignado un valor).[[ -v ${varname} ]]
- Verdadero si la longitud de la cadena es cero.
[[ -z ${string} ]]
- Verdadero si la longitud de la cadena es diferente de cero.
[[ -n ${string} ]]
- Verdadero si las cadenas son iguales.
=
debe usarse con el comandotest
para la conformidad con POSIX. Cuando se usa con el comando[[
, esto realiza una coincidencia de patrones como se describió anteriormente (Comandos Compuestos).[[ ${string1} == ${string2} ]]
- Verdadero si las cadenas no son iguales.
[[ ${string1} != ${string2} ]]
- Verdadero si
string1
se ordena antes questring2
lexicográficamente.[[ ${string1} < ${string2} ]]
- Verdadero si
string1
se ordena después questring2
lexicográficamente.[[ ${string1} > ${string2} ]]
No hay comentarios.:
Publicar un comentario