Спасибо всем за участие! Но ребята, почти весь этот спор не имеет смысла.... все что я хотел бы сделать так это проверку случайного нажатия shift при вводе чисел, более чем достаточно.
А вот в продолжение реализации сего чудо-действенного скрипта возник вопрос...
Как же правильно разложить все это в скрипте.
1. Спрашиваем значение переменной (имя ключа)
2. Проверяем ввод и при необходимости заменяем
3. Если замены не было выполняем генерацию
4. Если замена была выводим что вышло и спрашиваем пользователя продолжать или нет
5. Пользователь ответил ДА - выполняем пункт 3
6. Если пользователь ответил НЕТ - выполняем пункт 1
name()
{
echo "имя?"
read VALUE
CLIENT_NAME=$(echo $VALUE | tr "[:cntrl:][:space:]/?~!@#$%^&*()+=|\"\'\`\\,." "-")
}
if [ "$VALUE" == "$CLIENT_NAME" ]
then
gen-key ()
{
генерируем ключ и выполняем все что задумали
}
else
echo "Ошибка"
echo $CLIENT_NAME
echo "Использовать это?(y/n)"
read ANSWER
if [ "$ANSWER" == "Y" ] || [ "$ANSWER" == "y" ] || [ "$ANSWER" == "N" ] || [ "$ANSWER" == "n" ]
then
if [ "$ANSWER" == "Y" ] || [ "$ANSWER" == "y" ]
then
gen-key (использовал while do done, как правильно?)
else
name
fi
else
echo "Операция прервана!"
fi
fi
Так не выполняется, точнее ничего не запрашивает. Если выполнять от обычного пользователя ругается что нет доступа (логично), а если от рута то просто спустя секунду я снова в консоли.