Мне нужно сделать скрипт, который получает два параметра, второй из которых должен быть целым числом. Я понятия не имею, как это подтвердить.
if test $2 =~ "^[0-9]+$"
then
echo "\nNumero positivo entero"
else
echo "\nError: El numero $2 no es un numero entero positivo!!!\a"
fi
Вы можете использовать регулярные выражения для проверки чисел, будь то целые числа, отрицательные целые числа или десятичные числа, вы можете сделать что-то вроде этого:
регулярные выражения:
[1.] ^-? это выражение проверяет начало строки и если оно содержит какой-либо символ только один -
[2.] [0-9] проверяет, что это числа от 0 до 9
[3.] символ + указывает оператор или
[4.] ([.][0-9]+)$ подтверждает, что введенное значение было десятичным числом, и проверяет конец строки с помощью $
Приведенный выше код получает аргумент клавиатуры и проверяет, действительно ли введенное число было положительным, отрицательным или десятичным.
Это может быть подтверждено с помощью
case
:Вы можете создать метод, который получает параметры, принимает значение секунды и проверяет, является ли оно целым числом или нет, например:
Если мы выполним метод со следующими значениями:
мы получаем:
Если мы выполним метод со следующими значениями:
мы получаем:
Что вы можете сделать, так это отфильтровать его с помощью контроля ошибок, видя, что если это цифра и если она больше 0, то это целое число, в противном случае нет.