Я пытаюсь проверить ввод в ksh и хотел бы знать самый простой способ определить, является ли строка допустимым числом.Как определить, является ли строка числовой в ksh
3
A
ответ
7
Имейте идти с:
case $INPUT in
+([0-9])*(.)*([0-9]))
# Variable is numeric
;;
*)
# Nope, not numeric
;;
esac
0
[ $input -ge 0 -o $input-lt 0 ] 2>/dev/null && echo "numeric"
Это проверит, является ли ввод числовым (положительное или отрицательное целое число) и печатает числовое число, если оно есть.
1
Это фиксирует ответ Оговорка по Фрейду, чтобы включать в себя дополнительный, ведущий - или «+» знак, позволяет десятичные числа, начинающиеся с «» «» (нет ведущего 0) и исключить числа, содержащие несколько «.». (Например, «12 ... 34»):
case $INPUT in
{,1}([-+])+([0-9]){,1}(.)*([0-9])|{,1}([-+]).+([0-9]))
# Variable is numeric
;;
*)
# Nope, not numeric
;;
esac
0
Simpler, если вы просто хотите знать, если строка состоит из цифр:
case $INPUT in
[0-9][0-9]*)
# Variable contains only digits
;;
*)
# Variable contains at least one non-digit
;;
esac
0
Вы можете использовать оператор строки в тесте, как так :
if [[ "${input%%*()+([0-9])?(.)*([0-9])}" = "" ]]; then
print "Is numeric"
fi
0
Я видел этот ответ здесь (https://www.unix.com/302299284-post9.html), и это делает работу в КШ-88 в Solaris 10 для целых чисел:
x=2763
if [[ $x == +([0-9]) ]]; then
print integer
else
print nope
fi
Смежные вопросы
- 1. Как определить, является ли строка числовой?
- 2. Проверьте, является ли строка числовой
- 3. Определить, является ли строка "утвердительной"?
- 4. Определить, является ли строка «пустой»
- 5. Как определить, является ли переменная числовой в Perl?
- 6. Как определить, является ли строка числом?
- 7. Как определить, является ли строка xml?
- 8. Php, как определить, является ли строка временем?
- 9. Как определить, является ли строка веб-адресом?
- 10. Как определить, является ли строка идентификатором пользователя?
- 11. Как определить, является ли строка кодовым методом?
- 12. Как определить, является ли строка форматом даты?
- 13. Как определить, является ли строка хешем
- 14. Как определить, является ли строка лапиндром?
- 15. Как проверить, является ли строка числовой с использованием Progress 4GL
- 16. Как я могу видеть, является ли строка числовой?
- 17. проверка, является ли строка числовой, не работает в vb
- 18. Есть ли быстрый способ проверить, является ли строка числовой?
- 19. Проверьте, является ли строка числовой в одной строке кода
- 20. Определить, является ли одна строка префиксом другого
- 21. RegEx, чтобы определить, является ли строка оценка
- 22. Определить, является ли строка больше другой строки
- 23. Определить, является ли строка Date или Number
- 24. cross-dbms способ проверить, является ли строка числовой
- 25. строка в числовой массив
- 26. Определить, является ли строка ссылкой w/jQuery
- 27. Пытается определить, является ли строка целым числом
- 28. Проверьте, является ли php-строка буквенно-числовой, включая кириллические символы?
- 29. Как определить, имеет ли клавиатура числовой блок?
- 30. KSH проверить, начинается ли строка с подстроки
+1 для подстановочных знаков ksh '+ (..), * (...)'! – shellter
Использует ли ksh подстановочные знаки раньше, а не после, как в «регулярном» регулярном выражении? – Steve
Это решение, кажется, рассматривает 123 ... 99 как числовые – Ruchi