El problema que tienes es que estas poniendo and en vez de or aqui te lo doy corregido:
#!/bin/bash
#Este programa pide que introduzcamos una clave
#y comprueba que sea mayor de 5 caracteres y menor de 10
i=0;
while [ "$i" -lt 5 ] || [ "$i" -gt 10 ]
do
echo "POR FAVOR, INTRODUZCA UNA CLAVE"
read password
i=${#password}
if [ "$i" -lt 5 ];
then
echo "El numero de digitos de la clave es inferior a 5"
elif [ "$i" -gt 10 ];
then
echo "El numero de digitos de la clave es mayor de 10"
else
echo "CLAVE CORRECTA"
fi
done
#!/bin/bash
#Este programa pide que introduzcamos una clave
#y comprueba que sea mayor de 5 caracteres y menor de 10
i=0;
while [ "$i" -lt 5 ] || [ "$i" -gt 10 ]
do
echo "POR FAVOR, INTRODUZCA UNA CLAVE"
read password
i=${#password}
if [ "$i" -lt 5 ];
then
echo "El numero de digitos de la clave es inferior a 5"
elif [ "$i" -gt 10 ];
then
echo "El numero de digitos de la clave es mayor de 10"
else
echo "CLAVE CORRECTA"
fi
done