¿Cómo limitar la longitud de la entrada del usuario en un script bash?

¿Cómo limitar la longitud de la entrada del usuario en un script bash?

Estoy intentando crear un script bash simple para leer la entrada del usuario y usar esta entrada como una variable dentro de mi script.

Actualmente se ve así:

echo "Please specify file:"
read FILE

Lo que quiero que haga es verificar la $FILEentrada y rechazarla si es demasiado larga. Probé un par de ifcomandos pero no puedo encontrar la prueba para verificar la longitud de la entrada.

¿Alguien puede ayudar?

Gracias

Respuesta1

${#file}devuelve la longitud de $file.

if (( ${#file} > 20 )) ; then
    echo Filename too long. >&2
fi

VerExpansión de parámetrosen man bash.

información relacionada