Operador de comparación de cadenas en Bash

Dr. Muhammad Abdullah 8 octubre 2023
  1. Guión de bash
  2. Variable de cadena en Bash
  3. Operador de comparación de cadenas en Bash Script
Operador de comparación de cadenas en Bash

En este artículo, explicaremos la comparación de cadenas en Bash usando la instrucción if.

Un programa de shell que se ejecuta en Linux que proporciona la interfaz de línea de comandos para que los usuarios ejecuten diferentes comandos se llama Bash shell. También se usa como shell predeterminado en muchas distribuciones de Linux, conocido como GNU Bourne-Again Shell (Bash).

Guión de bash

Una serie de comandos Bash escritos en un archivo se llama script Bash. El shell Bash ejecuta estos comandos después de leer el archivo.

La extensión de archivo de un script Bash es .sh. Los siguientes contenidos de un archivo llamado First.sh se muestran a continuación.

#!/bin/Bash
echo "Hello World"

El archivo anterior First.sh es un script Bash que contiene solo un comando echo, que muestra Hola mundo en la terminal.

La primera línea del archivo #!/bin/Bash informa sobre el programa Bash en el sistema, que funciona como intérprete para ejecutar el comando escrito en el archivo de script.

El shell Bash proporciona diferentes métodos para ejecutar el script en la terminal. Algunos métodos se discuten a continuación.

  1. Se utiliza un comando bash seguido del archivo de script Bash para ejecutar el script. El siguiente comando ejecuta el script First.sh.

    bash First.sh
    

    La salida de este comando es:

    Hello World
    
  2. Ejecute el script Bash especificando la ruta. Después de asignar el derecho ejecutable al archivo de secuencia de comandos usando chmod +x First.sh, podemos ejecutar el archivo de secuencia de comandos especificando la ruta de la secuencia de comandos.

    <path to the script file>/First.sh
    

    Podemos usar la ruta absoluta usando el método anterior o la ruta relativa al script usando ./First.sh para ejecutar el script.

Variable de cadena en Bash

Podemos declarar e inicializar cualquier cadena en una variable usando el operador de asignación (=) en el script Bash.

Por ejemplo:

#!/bin/Bash
S="Hello World"
echo $S

En el ejemplo anterior, declaramos una variable de cadena S y la inicializamos con Hello World como valor. El comando echo muestra el valor de la variable de cadena en el terminal usando el comando echo y el operador $.

Operador de comparación de cadenas en Bash Script

Podemos comparar dos cadenas usando el operador = (es igual a) en el script Bash. También usamos el operador == para comparar la cadena.

El == es un sinónimo del operador = para la comparación de cadenas.

Por ejemplo, considere un script de Bash First.sh que contenga los siguientes contenidos.

#!/bin/Bash
S1="Hello World"
S2="Hello World"
if [ "$S1" = "$S2" ]
then
	echo "Equal"
else
	echo "Not Equal"
fi

El siguiente script contiene dos cadenas, S1 y S2 tienen el mismo valor. La condición if compara la cadena usando el operador =; sin embargo, también podemos usar la instrucción if [ "$S1" == "$S2" ] para comparar estas cadenas.

La siguiente es la salida del script First.sh.

Equal

Nota: si eliminamos los espacios en blanco antes y después del operador = en la declaración if, por ejemplo, if [ "$S1"="$S2" ], no comparará las cadenas con precisión.

El operador != (no es igual) se utiliza para la coincidencia de desigualdades de dos cadenas. Podemos usar este operador en la instrucción if usando if [ "$S1" != "$S2" ].

Esta declaración devuelve “true” si las cadenas S1 y S2 no son iguales.

Artículo relacionado - Bash String