LINUX.ORG.RU

Проверить на ввод символов в переменную

 ,


0

1

Программа суммирует два числа и проверяет пустая ли переменная но мне нужно исключить ввод букв тд и тп Если в переменную будет введено хоть одна буква, то нужно выводить ошибку и выходит со скрипта

Написать скрипт, который добавляет два числа, указанные в командной строке. Если параметров не 2 или параметры не числа - выдать соответствующую ошибку.

прошу помощи и совета

#!/bin/bash 
echo -n "Enter first number: "
read n1
if [ -z "${n1// /}" ]
then
	echo "You didn't enter number"
	exit
fi
echo -n "Enter second number: "
read n2
if [ -z "${n2// /}" ]
then
	echo "You didn't enter number"
	exit
fi
sum=$(($n1 + $n2))
echo "The sum of two numbers="$sum

Вы хотите, чтобы вам полностью решили вашу домашку? У вас какой конкретно вопрос то? Как узнать, введенная строка валидна как число? Ну вот такая функция проверяет, что строка не пустая и только число и только от нуля до 255:

tst_0_255() {
    case "$1" in
    "" | *[![:digit:]]* ) return 1;;
    esac
    [ "$1" -gt 255 ] && return 1
    return 0
}

vodz ★★★★★
()
Ответ на: комментарий от vodz

Это задание

Написать скрипт, который добавляет два числа, указанные в командной строке. Если параметров не 2 или параметры не числа - выдать соответствующую ошибку.

я исключил, что переменная может быть пуста или с пробелами, но мне ещё нужно проверить, что б при вводе проходила проверка на ввод числа тоесть, если пользователь введет число с буквами, или просто буквы, то вывести соответствующую ошибку и выйти из скрипта

boxerwba
() автор топика
Ответ на: комментарий от boxerwba

Это задание

Именно. А тут форум не job, чтобы было у людей заинтересованность ваше задание выполнять.

если пользователь введет число с буквами, или просто буквы

Я именно такую функцию проверки вам и дал.

vodz ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.