Ваш скрипт запрашивает ввод три раза. Я предполагаю, что следующее ближе к тому, что вы намереваетесь:
#!/bin/bash
read -p "Please input numbers only " inputline
len=${#inputline}
if (( len == 9 || len == 10 ))
then
echo "$len chars"
else
echo "invalid input length"
fi
Параметр -n
, равный read
, ограничивает ввод указанным количеством символов, но принимает эту длину без нажатия клавиши ввода. Вы можете ввести меньше, нажав Enter, хотя. Я нашел это полезным для -n 1
, но редко в противном случае.