Ir al contenido

El Manual de BASH Scripting Básico para Principiantes/Operadores

De Wikilibros, la colección de libros de texto de contenido libre.
← El otro ciclo (Until) Operadores Funciones →
El Manual de BASH Scripting Básico para Principiantes


Asignación

[editar]

La asignación de variables se realiza mediante el símbolo de la igualdad =. El símbolo de la igualdad no debe estar seguido de espacios.

i=10
nombre="hola mundo!"
¡Atención!
No confundir con el operador de evaluación de condiciones lógicas, que utiliza el mismo símbolo.

Bash: operadores de comparación

Nota: Aunque es un sinónimo de = el operador == se comporta diferente cuando se usa dentro de corchetes dobles que simples, por ejemplo:

[[ $a == z* ]]   # Verdadero si $a empieza con una "z" (expresión regular coincide).
[[ $a == "z*" ]] # Verdadero si $a es igual a z* (coincide literalmente).

[ $a == z* ]     # Ocurre división de palabras.
[ "$a" == "z*" ] # Verdadero si $a es igual a z* (coincide literalmente).
  • !=
    no es igual a / Distinto

    if [ "$a" != "$b" ]

    NOTA: este operador usa coincidencia de patrón dentro de doble corchete.

  • <
    es menor que (en orden alfabético ASCII)

    if [[ "$a" < "$b" ]]
    if [ "$a" \< "$b" ]

    Nota: el operador “<” necesita ser escapado dentro de corchetes.

  • >
    es mayor que (en orden alfabético ASCII)

    if [[ "$a" > "$b" ]]
    if [ "$a" \> "$b" ]

    Nota: el operador “>” necesita ser escapado dentro de corchetes.

  • -z
    La cadena está vacía (null), tiene longitud cero.

    String=''   # Variable de longitud cero (null)
    if [ -z "$String" ]
    then
    echo "\$String está vacía."
    else
    echo "\$String no está vacía."
    fi
  • -n
    cadena no está vacía (contiene algo)
    nota: El operador -n exige que la cadena esté entre comillas entre paréntesis. Aunque el uso sin comillas puede funcionar, es altamente recomendable usar comillas.
  • Comparaciones lógicas

    • -a
      Y lógico (and)

      exp1 -a exp2

      devuelve verdadero si ambas exp1 y exp2 son verdaderas.

    • -o
      O lógico (or)

      exp1 -o exp2

      devuelve verdadero si alguna de las expresiones exp1 y exp2 son verdaderas.

    Éstos últimos operadores son similares a los operadores de Bash && (and) y || (or) cuando se usan con doble corchete:

    [[ condition1 && condition2 ]]

    Publicado: 23 de diciembre de 2009

    Revisado: 18 de diciembre de 2009

    Categorias: Ver todas las entradas en Bash

    Operadores aritméticos

    [editar]

    Los operadores aritméticos son:

    + suma
    - resta
    \* multiplicación
    / división
    % resto
    ** potenciación


    Los operadores aritméticos pueden combinarse con la asignación de variables, al estilo de C:

    += le suma un valor a la variable
    -= le resta un valor a la variable
    *= le multiplica por un valor a la variable
    /= le divide por un valor a la variable
    %= asigna a la variable el resto de dividir esa variable por un valor

    Operadores booleanos

    [editar]
    << desplazamiento de 1 bit hacia la izquierda que equivale a multiplicar por 2.
    >> desplazamiento de 1 bit hacia la derecha, que equivale a dividir por 2.
    <<= desplazamiento de 2 bits hacia la izquierda que equivale a multiplicar por 4.
    >>= desplazamiento de 2 bits hacia la derecha, que equivale a dividir por 4.
    & operación and
    | operación or
    ^ operador xor
    ! operador de negación (NOT)

    Operadores lógicos

    [editar]

    Los operadores lógicos son los que se utilizan en la evaluación de condiciones lógicas (verdadero o falso), no confundir con los operadores booleanos, que son utilizado sobre variables.

    == operador binario que devuelve "verdadero" si las expresiones son verdaderas
    && operador binario que devuelve verdadero si ambas expresiones son verdaderas, en otros casos devuelve falso.
    || operador binario que devuelve verdadero si al menos una de las expresiones es verdadera.