• Blog
  • Cursos de Linux en Udemy
  • Certificaciones LPIC
  • Servidor de Discord
Antonio Sánchez CorbalánAntonio Sánchez Corbalán
  • Blog
  • Cursos de Linux en Udemy
  • Certificaciones LPIC
  • Servidor de Discord

¿Quieres aprender Linux?

¡Mira los mejores cursos de Linux!
  • Inicio
  • Blog
  • Linux
  • Operaciones aritméticas y lógicas en Shell Script

Operaciones aritméticas y lógicas en Shell Script

  • Categorías Linux, Shell Script
  • Fecha enero 21, 2022

Contenidos

  • Aritméticas
  • Lógicas
    • Operaciones que podemos hacer con test
    • Uso principal

Aritméticas

En un Bash podemos realiza directamente sumas, restas, divisiones, multiplicaciones y resto de números enteros. Para ello tendemos que poner la operación dentro de $(( )).

Operadores: +, -, /, *, % (% es el resto que resulta al realizar la división entre dos números)

Por ejemplo:

echo $((25+6)) 

echo $((24%5)) daría como resultado 4

Para operaciones con decimales tendríamos que ayudarnos de comandos externos como bc.

Ejemplo:

echo 6.5*4.99 | bc

Lógicas

La finalidad de las operaciones lógicas es determinar si algo es verdadero o falso. Para poder hacer multitud de comprobaciones, tenemos al orden test. Se puede ejecutar con el comando test seguido de la comprobación que queremos hacer, o delimitar la comprobación entre corchetes.

Es decir, si quiero comprobar si $A es igual a $B puedo poner test $A = $B, pero también puedo poner [ $A = $B ]

Operaciones que podemos hacer con test

Comparación de números

SINTAXIS DESCRIPCIÓN
ENTERO1 -eq ENTERO2 ENTERO1 es igual que ENTERO2
ENTERO1 -ge ENTERO2 ENTERO1 es mayor o igual que ENTERO2
ENTERO1 -gt ENTERO2 ENTERO1 es mayor que ENTERO2
ENTERO1 -le ENTERO2 ENTERO1 es menor que o igual que ENTERO2
ENTERO1 -lt ENTERO2 ENTERO1 es menor que ENTERO2
ENTERO1 -ne ENTERO2 ENTERO1 no es igual que ENTERO2

Comparación de texto

SINTAXIS DESCRIPCIÓN
CADENA1 = CADENA2 CADENA1 es igual que CADENA2
CADENA1 > CADENA2 CADENA1 es mayor que CADENA2
CADENA1 < CADENA2 CADENA1 es menor que CADENA2
CADENA1 != CADENA2 CADENA1 no es igual que CADENA2
-n CADENA Cierto si la longitud de la cadena es distinta de cero

Comprobaciones sobre ficheros y directorios

SINTAXIS DESCRIPCIÓN
-d RUTA Cierto si la RUTA existe y es un directorio
-e RUTA Cierto si la RUTA existe sea el elemento que sea
-f RUTA Cierto si la RUTA existe y es un fichero normal
-r RUTA Cierto si la RUTA existe y se puede leer
-w RUTA Cierto si la RUTA existe y se puede escribir
-x RUTA Cierto si la RUTA existe y es ejecutable
-s RUTA Cierto si la RUTA existe y su tamaño es mayor que cero

Otras expresiones

! EXPRESIÓN Negación: cierto si la EXPRESIÓN es falsa
EXPRESIÓN1 -a EXPRESIÓN2 Cierto si EXPRESIÓN1 y EXPRESIÓN2 son ciertas. Las dos
EXPRESIÓN1 -o EXPRESIÓN2 Cierto si EXPRESIÓN1 o EXPRESIÓN2 son ciertas. Alguna de ellas

Uso principal

La utilidad que tienen las operaciones lógicas es la toma de decisiones. Así podré realizar una funciones si una expresión (o pregunta) es verdadera u otras si es falsa.

Suponiendo que hacemos un script que le indicamos con el primer parámetro nuestra edad, haríamos:

Si $1 es mayor o igual que 18
     muestro un mensaje de que eres mayor de edad
en caso contrario
    muestro un mensaje diciendo que no lo eres

En el lenguaje de script:

if [ $1 -ge 18 ]; then  
    echo “Eres mayor de edad”
else 
    echo “Eres menos de edad”
fi

Este tipo de estructuras se llaman condicionales y las veremos en el siguiente post.

También te puede interesar el curso:
Comandos de Linux: desde cero hasta programar Shell Script
Aprende a usar el terminal de Linux como un verdadero profesional.
Desde lo más básico hasta Shell Scripting en Bash
ENTRA CON EL MÁXIMO DESCUENTO
DESCUENTO

Etiqueta:portada

  • Compartir:
A. Sánchez Corbalán
    Profesor de vocación. Desde hace más de 15 años imparto clases de informática a todo tipo de alumnado. También he trabajado como desarrollador web y administrador de sistemas Linux. Soy socio fundador de dos empresas tecnológicas que me ayudan a seguir evolucionando.

    Publicación anterior

    Sustitución de comandos en Shell Script
    enero 21, 2022

    Siguiente publicación

    Estructuras condicionales en Shell Script: if y case
    febrero 8, 2022

    Categorías

    • Linux
    • Shell Script
    • Soluciones
    • Tutoriales

    Todos los derechos reservados.

    • Privacy
    • Terms
    • Sitemap
    sanchezcorbalan.es utiliza cookies para mejorar la experiencia de los usuarios, facilitando la navegación por nuestra web. Para saber más sobre el uso que hacemos de las cookies, consulta nuestra Política sobre el uso de cookies.Aceptar
    Privacy & Cookies Policy

    Privacy Overview

    This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are as essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may have an effect on your browsing experience.
    Necesarias Siempre activado

    Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.