Shell Script para comprobar que la entrada solo contiene caracteres alfanuméricos

Si desea una entrada que contenga solo caracteres alfanuméricos, es decir, 1-9 o az minúsculas, así como caracteres en mayúsculas, podemos utilizar una expresión regular o Regex en resumen en un Shell Script para verificar la entrada.

Ejemplo:

Input: Geeksforgeeks
Output: True

Explanation: Here all the inputted data are alphanumeric

Input: Geeks@for@geeks
Output: False

Explanation: @ is not alphanumeric

Aquí nuestra tarea es escribir un script para tomar entradas de una variable, y verifica que la string de entrada de principio a fin tenga solo números o letras (en minúsculas o mayúsculas). Si hay otros caracteres especiales, la condición en el ciclo while se evaluará como falsa y, por lo tanto, el ciclo while se ejecutará, y vuelve a ingresar la variable, y luego nuevamente verifica la condición del ciclo while de los caracteres alfanuméricos. El ciclo continuará hasta que el usuario ingrese solo una string o número alfanumérico y no vacío. \

#!/bin/bash

# Input from user
read -p "Input : " inp


# While loop for alphanumeric characters and a non-zero length input
while [[ "$inp" =~ [^a-zA-Z0-9] || -z "$inp" ]]
do        
   echo "The input contains special characters."     
   echo "Input only alphanumeric characters."     
   
   
# Input from user
   read -p "Input : " inp
   
   
#loop until the user enters only alphanumeric characters.
done
echo "Successful Input"

Producción:

Salida de script Bash

Se ejecuta la siguiente captura de pantalla del caso de prueba del código y solo acepta entradas alfanuméricas no vacías. Incluso rechaza una entrada vacía y otros caracteres excluyendo alfabetos y números. El siguiente código es una expresión regular para verificar números o letras desde el inicio (^) hasta el final ($) y una condición de entrada vacía (-z representa la longitud de cero). Por lo tanto, el script de shell le preguntará al usuario una y otra vez hasta que ingrese un carácter alfanumérico.

Publicación traducida automáticamente

Artículo escrito por meetgor y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *