Cómo usar bash if -z y if -n para probar cadenas en Linux
Hay diferentes operadores de cadenas disponibles en el lenguaje de secuencias de comandos bash que se pueden usar para probar cadenas. Los operadores -z y -n se utilizan para verificar si la cadena es nula o no. En esta guía, probaremos estos operadores de cadenas utilizando la declaración if en Centos 8.
En esta guía, aprenderá sobre las siguientes cadenas de prueba:
- If-n cuando String es nulo.
- If-n cuando la cadena no es nula
- If-z cuando Sting es nulo
- If-z cuando la cadena no es nula
- If-z mientras toma la entrada del usuario de cadena
Uso del operador if -n cuando String es nulo
Nuestro objetivo principal al usar el operador if-n aquí es mostrar que la cadena específica es nula. Siga los pasos citados para ejecutar esta tarea:
Cree un nuevo archivo con el nombre CheckString.sh. Puede crearlo directamente en su directorio de inicio o usando el siguiente comando en la terminal:
$ touch CheckString.sh
Puede ver que el archivo CheckString.sh se ha creado en su directorio de inicio como se muestra en la imagen.
Abra el archivo CheckString.sh y escriba un script bash como se muestra en la imagen de abajo. Aquí puede ver que hemos inicializado una cadena con el nombre StdName seguido del valor Null. En nuestra instrucción if hemos utilizado el operador de prueba de cadena -n seguido de la cadena StdName. Como la cadena StdName es nula, el operador -n ejecutará la sección else del script.
Ahora ejecutaremos el comando mencionado a continuación para verificar si la cadena es nula o no.
$ bash CheckStrings.sh
Como nuestra cadena StdName es nula, el operador de cadena -n ejecutó la parte else. Entonces la salida será ¡Lo siento! No tiene nombre en la terminal como se muestra en la imagen de abajo.
Uso de if -n cuando String no es nulo
Estamos usando el operador if-n aquí para mostrar que la cadena especificada en el archivo no es nula. Debe seguir los pasos mencionados a continuación para realizar esta actividad:
No es necesario crear un nuevo archivo o cadena. Utilizará el mismo archivo CheckString.sh para esta tarea con un cambio menor. Esta vez, la cadena StdName en su archivo debe tener algún valor que no sea nulo. Por lo tanto, debe asignarle a su cadena un valor (no nulo) mientras que el resto de la secuencia de comandos permanece igual. Como puede ver, le hemos asignado a la cadena StdName un valor Aqsa Yasin. Entonces, esta vez, parte del script será ejecutado por el operador -n.
Ahora ejecutaremos el comando mencionado a continuación para verificar si la cadena tiene algún valor o no.
$ bash CheckStrings.sh
Como nuestra cadena StdName ahora tiene un valor Aqsa Yasin, entonces el operador de cadena -n ejecutó la parte if. Entonces la salida será ¡Hy! Aqsa Yasin en la terminal como se muestra en la imagen adjunta.
Uso de if -z cuando String es nulo
Estamos usando el operador if-z aquí para mostrar que la cadena especificada en el archivo es nula. Debe seguir los pasos mencionados a continuación para realizar esta actividad:
No hay nada nuevo que hacer para esta tarea. Simplemente use el mismo archivo antiguo CheckString.sh con el operador de cadena -z. Como sabemos, el operador -z ejecuta la parte verdadera cuando la cadena es nula. Dado que la cadena StdName tiene un valor nulo, la parte if del script la realizará el operador -z.
Ahora ejecutaremos el comando mencionado a continuación para verificar que la cadena sea nula.
$ bash CheckStrings.sh
Como nuestra cadena StdName ahora no tiene valor, y el operador de cadena -z sabe que la cadena es nula, por lo que ejecuta la parte if. Entonces, la salida será Lo siento, no tiene nombre en el terminal como se presenta en la imagen adjunta.
Uso de if -z cuando String no es nulo
Estamos usando el operador if-z aquí para mostrar que la cadena especificada en el archivo no es nula. Al seguir estos pasos, podrá realizar esta actividad:
No es necesario hacer nada nuevo. Usaremos el mismo archivo antiguo CheckString.sh para esta tarea con un cambio menor. Esta vez, reemplazaremos el operador de cadena -n con el operador de cadena -z. Además, debe intercambiar si y si no parte del guión entre sí. Como sabemos, el operador -z ejecuta la parte verdadera cuando la cadena es nula. Como la cadena StdName tiene el valor Aqsa Yasin, que no es nulo, la instrucción else será ejecutada por el operador -z.
Ahora ejecutaremos el comando mencionado a continuación para verificar si la cadena es nula o no.
$ bash CheckStrings.sh
Como nuestra cadena StdName ahora tiene un valor Aqsa Yasin, y el operador de cadena -z sabe que la cadena no es nula, por lo que ejecuta la parte else. Entonces, la salida será Hy Aqsa Yasin en la terminal como se muestra en la imagen a continuación.
Uso de if -z mientras toma la entrada de cadena del usuario
Por último, estamos usando el operador if-z para probar la entrada de cadena agregada por uso en tiempo de ejecución. Debe realizar los siguientes pasos para probar la entrada de la cadena de usuario:
Esta vez tienes que modificar tu script hasta cierto punto en el archivo. En primer lugar, estamos usando el operador -z en la instrucción if seguido de la cadena variable. El sistema le pedirá al usuario que agregue algunos valores de cadena. El usuario agregará alguna cadena. Al usar el sistema de declaración de lectura, se guardará la cadena escrita por el usuario en la cadena variable. Como sabemos, el operador -z ejecuta la parte if de la declaración cuando la cadena es válida. Si la cadena ingresada por el usuario es nula, el sistema le pedirá que ingrese la cadena nuevamente. Si la cadena ingresada por el usuario no es nula, el sistema mostrará la cadena.
Ahora ejecutaremos el comando mencionado a continuación para verificar la cadena ingresada por el usuario:
$ bash CheckStrings.sh
Cuando el sistema le pide al usuario que agregue alguna cadena, el usuario no agrega ningún valor. Entonces, el operador -z reconoce la cadena como nula, por lo que ejecutó la declaración if. El sistema solicitó nuevamente agregar algún valor de cadena al usuario. Ahora, esta vez, el usuario agregó un valor de cadena válido New World Order. Por lo tanto, el sistema mostró el mensaje La cadena que ingresó es: Nuevo mundo
Anuncio publicitario
Conclusión
En esta guía, descubrió cómo usar operadores de cadena para probar un valor de cadena que es nulo o no nulo. Espero que este artículo lo haya ayudado mucho a obtener suficiente control sobre los operadores de cadena -z y -n y manipular declaraciones.