The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Проверить на ввод символов в переменную"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Shell скрипты)
Изначальное сообщение [ Отслеживать ]

"Проверить на ввод символов в переменную"  +/
Сообщение от Дима email(??) on 29-Ноя-17, 14:01 
Программа суммирует два числа и проверяет пустая ли переменная но мне нужно исключить ввод букв тд и тп Если в переменную будет введено хоть одна буква, то нужно выводить ошибку и выходит со скрипта

Написать скрипт, который добавляет два числа, указанные в командной строке. Если параметров не 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

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Проверить на ввод символов в переменную"  +/
Сообщение от xm (ok) on 30-Ноя-17, 00:35 
> Программа суммирует два числа и проверяет пустая ли переменная но мне нужно
> исключить ввод букв тд и тп

[ -z `echo $var | tr -d "[:digit:]"` ] && echo "ok"

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Проверить на ввод символов в переменную"  +/
Сообщение от Аноним email(??) on 01-Дек-17, 05:27 
[ -z `echo $var | tr -d "[:digit:]"` ] && echo "ok"

Ну есть же люди которые так кратенько все запишут , я это к чему в своё время искал такое же решение на С,
но простого не нашел, может Вы знаете ???


Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Проверить на ввод символов в переменную"  +/
Сообщение от Аноним email(??) on 01-Дек-17, 05:29 
Да делал программу изучения таблицы умножения для дочери, программу то сделал , а вот проверку на ввод нет,
Может подскажете ?
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Проверить на ввод символов в переменную"  +/
Сообщение от ыы on 01-Дек-17, 11:09 
> Да делал программу изучения таблицы умножения для дочери, программу то сделал ,
> а вот проверку на ввод нет,
> Может подскажете ?

программа в момент вода не различает тип данных. для нее все что вы вводите- это символы.
поэтому в простом случае вы можете банально перебрать в цикле сравнение вводимого символа с 10-ю символами цифр. то есть с 0 1 2 3 4 5 6 7 8 9. если совпадение есть- то введена цифра. если нет- то введен какой-то иной символ.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Проверить на ввод символов в переменную"  +/
Сообщение от ACCA (ok) on 04-Дек-17, 20:38 
> поэтому в простом случае вы можете банально перебрать в цикле сравнение вводимого
> символа с 10-ю символами цифр. то есть с 0 1 2
> 3 4 5 6 7 8 9. если совпадение есть- то
> введена цифра. если нет- то введен какой-то иной символ.

Цикл-то там нафига?

if (c < '0' || c > '9') printf("'%c' - это не цифра. Change user and press any key.\n", c);

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру