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.
-
Se utiliza un comando
bash
seguido del archivo de script Bash para ejecutar el script. El siguiente comando ejecuta el scriptFirst.sh
.bash First.sh
La salida de este comando es:
Hello World
-
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ónif
, 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.