Cómo comprobar si una cadena de texto está vacía en Linux

LinuxLinuxBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderá técnicas fundamentales para trabajar con cadenas de texto (strings) en Linux. Descubrirá cómo comprobar de manera efectiva si una cadena de texto está vacía utilizando el comando test -z, una habilidad crucial para la lógica condicional en scripting de shell. Además, practicarás mostrar el contenido de una cadena de texto utilizando el versátil comando echo y explorarás cómo medir la longitud de una cadena de texto con el comando expr length. Estos ejercicios prácticos te proporcionarán experiencia práctica en manipular y analizar cadenas de texto dentro del entorno Linux.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) linux(("Linux")) -.-> linux/TextProcessingGroup(["Text Processing"]) linux/BasicSystemCommandsGroup -.-> linux/echo("Text Display") linux/BasicSystemCommandsGroup -.-> linux/test("Condition Testing") linux/TextProcessingGroup -.-> linux/expr("Evaluate Expressions") subgraph Lab Skills linux/echo -.-> lab-558767{{"Cómo comprobar si una cadena de texto está vacía en Linux"}} linux/test -.-> lab-558767{{"Cómo comprobar si una cadena de texto está vacía en Linux"}} linux/expr -.-> lab-558767{{"Cómo comprobar si una cadena de texto está vacía en Linux"}} end

Probar la vacuidad de una cadena con test -z

En este paso, aprenderá cómo comprobar si una cadena de texto (string) está vacía en Linux utilizando el comando test con la opción -z. Esta es una operación fundamental cuando se trabaja con cadenas de texto en scripting de shell.

El comando test se utiliza para evaluar expresiones condicionales. La opción -z comprueba específicamente si la longitud de una cadena de texto es cero. Si la cadena de texto está vacía, la prueba es verdadera; de lo contrario, es falsa.

Intentémoslo en la terminal. Primero, definiremos una variable de cadena de texto vacía. En scripting de shell, se define una variable escribiendo su nombre, seguido de un signo igual (=) y luego el valor. No debe haber espacios alrededor del signo igual.

Escriba el siguiente comando para definir una variable de cadena de texto vacía llamada my_string:

my_string=""

Ahora, usemos el comando test -z para comprobar si my_string está vacía. El comando test en sí no produce salida; su resultado se utiliza para controlar el flujo de un script (lo cual aprenderá más adelante). Sin embargo, podemos ver su resultado comprobando el estado de salida del comando anterior utilizando echo $?. Un estado de salida de 0 indica éxito (verdadero), y un estado distinto de cero indica fracaso (falso).

Escriba el siguiente comando para probar si my_string está vacía:

test -z "$my_string"

Después de ejecutar el comando test, compruebe su estado de salida:

echo $?

Dado que my_string está vacía, el comando test -z debe evaluarse como verdadero, y el comando echo $? debe mostrar 0.

Ahora, definamos una cadena de texto no vacía:

another_string="Hello"

Y probemos si está vacía:

test -z "$another_string"

Compruebe el estado de salida:

echo $?

Esta vez, dado que another_string no está vacía, el comando test -z debe evaluarse como falso, y el comando echo $? debe mostrar 1.

Comprender cómo probar cadenas de texto vacías es crucial para escribir scripts de shell robustos que manejen diferentes entradas correctamente.

Mostrar el contenido de una cadena utilizando echo

En este paso, aprenderá cómo mostrar el contenido de una variable de cadena de texto (string) utilizando el comando echo. Como vio en el primer laboratorio, echo se utiliza para imprimir texto en la terminal. Cuando se utiliza con variables, imprime el valor almacenado en la variable.

Recuerde del paso anterior que definimos una variable llamada another_string y le asignamos el valor "Hello".

another_string="Hello"

Para mostrar el contenido de esta variable, utilice el comando echo seguido de un signo de dólar ($) y el nombre de la variable. El signo de dólar es importante; le dice al shell que desea utilizar el valor de la variable, no el nombre de la variable en sí como una cadena literal.

Escriba el siguiente comando para mostrar el contenido de another_string:

echo "$another_string"

Debería ver la siguiente salida:

Hello

También puede incluir la variable dentro de una cadena más larga. Esta es una forma común de incrustar valores de variables en mensajes.

Escriba el siguiente comando:

echo "The value of the string is: $another_string"

Debería ver la siguiente salida:

The value of the string is: Hello

Generalmente se recomienda utilizar comillas dobles (") alrededor del nombre de la variable o de la cadena completa. Ayuda a evitar problemas con espacios o caracteres especiales dentro del valor de la variable.

Intentemos mostrar la cadena de texto vacía que definimos anteriormente, my_string:

echo "$my_string"

Dado que my_string está vacía, este comando simplemente mostrará una línea en blanco.

El comando echo es una herramienta fundamental para mostrar información y depurar en scripting de shell. Lo utilizará con frecuencia para ver los valores de las variables y la salida de los comandos.

Medir la longitud de una cadena con expr length

En este paso, aprenderá cómo medir la longitud de una cadena de texto (string) utilizando el comando expr con el operador length. El comando expr se utiliza para evaluar expresiones, incluyendo realizar operaciones matemáticas y manipulaciones de cadenas de texto.

El operador length dentro de expr toma una cadena de texto como argumento y devuelve el número de caracteres en esa cadena.

Utilicemos la variable another_string que definimos en los pasos anteriores, que tiene el valor "Hello".

another_string="Hello"

Para encontrar la longitud de another_string, utilizará el comando expr seguido del operador length y el valor de la variable. Recuerde utilizar el signo de dólar ($) antes del nombre de la variable para obtener su valor.

Escriba el siguiente comando:

expr length "$another_string"

Debería ver la siguiente salida, que es el número de caracteres en "Hello":

5

Ahora, intentemos encontrar la longitud de la cadena de texto vacía my_string:

my_string=""

Escriba el comando:

expr length "$my_string"

La salida debería ser:

0

Esto confirma que la longitud de una cadena de texto vacía es, de hecho, cero.

El comando expr length es una forma sencilla de obtener el recuento de caracteres de una cadena de texto en scripting de shell. Esto es útil en diversos escenarios, como validar la longitud de la entrada o iterar a través de los caracteres.

Resumen

En este laboratorio, aprendiste cómo comprobar si una cadena de texto (string) está vacía en Linux utilizando el comando test -z. Este comando se evalúa como verdadero (estado de salida 0) si la cadena está vacía y como falso (estado de salida 1) en caso contrario. Practicaste la definición de variables de cadenas vacías y no vacías y verificaste la salida de test -z comprobando el estado de salida con echo $?. También aprendiste cómo mostrar el contenido de una variable de cadena utilizando el comando echo y cómo medir la longitud de una cadena utilizando el comando expr length. Estas operaciones fundamentales son esenciales para trabajar con cadenas de texto en scripting de shell.