NBash

Форк
0
50 строк · 1.2 Кб
1
#!/bin/bash
2

3
validint()
4
{
5
	number="$1"
6
	min="$2"
7
	max="$3"
8

9
	# Проверка на пустой ввод
10
	if [ -z $number ]; then
11
		echo "Пустой ввод. Введите число" >&2
12
		return 1
13
	fi
14

15
	# Проверка на знак минус
16
	if [ "${number%${number#?}}" = "-" ]; then
17
		testvalue="${number#?}"
18
	else
19
		testvalue="$number"
20
	fi
21

22
	# Проверка на то что введено число
23
	nodigits="$(echo $testvalue | sed 's/[[:digit:]]//g')"
24

25
	if [ ! -z "$nodigits" ]; then
26
		echo "Неверный формат числа. Введите только цифры без разделителей." >&2
27
		return 1
28
	fi
29

30
	# Основное сравнение
31
	if [ ! -z $min ]; then
32
		if [ "$number" -lt "$min" ]; then
33
			echo "Введенное значение числа меньше заданного нижнего предела $min" >&2
34
			return 1
35
		fi
36
	fi
37

38
	if [ ! -z $max ]; then
39
		if [ "$number" -gt "$max" ]; then
40
			echo "Введено значение числа больше заданного верхнего предела $max" >&2
41
			return 1
42
		fi
43
	fi
44

45
	return 0
46
}
47

48
# if validint "$1" "$2" "$3" ; then
49
# 	echo "Заданное число находится в диапазоне $min - $max"
50
# fi

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.