Go Back   В UNIX и Linux Форумы > Топ форумы > Shell программирование и сценарии
.
Google Site



Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь.

Closed Thread
English Japanese Spanish French German Portuguese Italian Powered By Powered by Google
 
Резьба Инструменты Искать в этом Thread Оценить Thread Режимы дисплея
Old 11-01-2002
Зарегистрированный пользователь
 

Регистрация: Sep 2002
Сообщений: 11
Проверьте, если аргумент является чисел

Как я могу проверить, если аргумент передается сценарий представляет собой целое?

Я написания сценария, что потребуется для чисел и хотим иметь возможность проверить, прежде чем продолжить.


Я использую Bourne оболочки.

Спасибо заранее
Рекламные ссылки
Old 11-01-2002
Зарегистрированный пользователь
 

Регистрация: август 2002
Место проведения: Marlboro, М. А.
Сообщений: 114

Код:
echo $string | grep "^[0-9]+$"
echo $?

$? будет 0, только если $ строка представляет собой последовательность цифр и ничего больше ...
Old 11-04-2002
Зарегистрированный пользователь
 

Регистрация: Sep 2002
Сообщений: 11
Извините, но это не помогло.

У меня этот скрипт, который работает за исключением отрицательных чисел, или когда кто-то вводит + Infront в целое.

Почему этого не принимает отрицательный чисел или целое со знаком +?


#! / BIN / ш
checkinput ()
(
случае $ 1, в [0-9] | [0-9] * [0-9] [\.]) вернуть 0;; esac
вернуться 1
)

exitusage ()
(
Эхо "Использование: Proj2 Integer1 Integer2"
выезд
)

[$ #-NE 2] И И exitusage
checkinput $ 1 | | exitusage И И А \u003d $ 1
checkinput $ 2 | | exitusage И И B \u003d $ 2

Спасибо заранее
Old 11-04-2002
Зарегистрированный пользователь
 

Регистрация: август 2002
Место проведения: Marlboro, М. А.
Сообщений: 114
заменить checkinput () функции с этим ...


Код:
checkinput() 
{ 

echo $1 | grep '^(\+|-)?[0-9]+$'

return $?

}

Вы можете найти это полезным ...

[\? И] значение \u003d A URL параметра в URL.

[AZ]\ \ [A-Z0-9_] +) + большой буквы DOS / Windows путь, что (а) не в корень диска, а также (б) только буквы, цифры и подчеркивания в тексте.

[A-Za-Z] [A-Za-Z0-9_] * A ColdFusion переменная не классификатором.

([A-Za-Z] [A-Za-Z0-9_] *) (\. [A-Za-Z] [A-Za-Z0-9_] *)? А ColdFusion переменная, не более одного квалификационного, например, Form.VarName, но не Form.Image.VarName.

(\ +|-)?[ 1-9] [0-9] * Целое, которое не начинается с нуля и имеет факультативный признак.

(\ +|-)?[ 1-9] [0-9] * (\. [0-9] *)? А реальное число.

(\ +|-)?[ 1-9] \. [0-9] * E (\ +|-)?[ 0-9] + A реальные цифры в инженерной нотации.

A (2,4) двух до четырех случаев "А": AA, AAA, ггггг.

(BA) (3,) По крайней мере, три "БА" пар: bababa, babababa, и так далее ..


Ура!
Вишну.

Последний раз редактировалось Вишну; на 11-04-2002 04:32 PM..
Old 11-04-2002
Зарегистрированный пользователь
 

Регистрация: Sep 2002
Сообщений: 11
Я certanly apreciate все в вашей помощи. но это:
checkinput ()
(

Эхо $ 1 | grep '^ (\ +|-)?[ 0-9] + $'

вернуть $?

)

не работать. Я буду tryng.

Благодаря миллиона.
Old 11-04-2002
Зарегистрированный пользователь
 

Регистрация: август 2002
Место проведения: Marlboro, М. А.
Сообщений: 114
это всегда хорошая идея проверить вещи по командной линии до ввода в сценарий .. который, я надеюсь, вы уже делаете ..

Вы можете сделать несколько тестов разделяя код возврата ...

Эхо -3243 | grep '^ (\ +|-)?[ 0-9] + $'
Эхо $?

эхо-ABC | grep '^ (\ +|-)?[ 0-9] + $'
Эхо $?

дайте мне знать, если эти испытания работы на Unix-системы ...

Ура!
Вишну.
Old 11-04-2002
Perderabo's Avatar
Unix Daemon
 

Регистрация: август 2001
Место проведения: Ashburn, Вирджиния
Сообщения: 9150
Цитата:
Первоначально Написал Вишну
checkinput ()
(

Эхо $ 1 | grep '^ (\ +|-)?[ 0-9] + $'

вернуть $?

)
Я думаю, вам нужно использовать-E с grep ссылаться расширенных регулярных выражений. Но, кроме того, если аргумент проходит испытания, она будет идти на стандартный вывод. В-Q вариант будет исправить. Итак, попробуйте следующее:
Код:
checkinput() 
{ 

echo $1 | grep -Eq '^(\+|-)?[0-9]+$'

return $?

}

Рекламные ссылки
Closed Thread

Закладки

Теги
Regex, регулярные выражения

Резьба Инструменты Искать в этом Thread
Искать в этом Thread:

Расширенный поиск
Режимы дисплея Оценить эту ветку
Оценить эту ветку:

Отправка Правила
Вы не может Начать новую нитей
Вы не может Почтовые ответы
Вы не может Почтовые вложения
Вы не может Редактировать Ваши сообщения

BB код быть На
Смайлики являемся На
[IMG] код На
HTML-код Вне
Trackbacks являемся На
Pingbacks являемся На
Refbacks являемся Вне


Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
Добавить неприсоединения чисел с помощью KSH 2dumb Shell программирование и сценарии 18 04-13-2009 01:28 AM
чисел в случае, если заявление Deanne Shell программирование и сценарии 5 01-22-2008 05:14 AM
Проверка на пустой командной Аргумент Стив Nysif UNIX для чайников Вопросы И Ответы 6 09-19-2007 04:59 PM
Проверьте, если аргумент является IP-адрес в Bash / ш marcpascual Shell программирование и сценарии 3 08-17-2007 04:18 AM
Как проверить, если аргумент содержит символ (*,?)? gusla UNIX для чайников Вопросы И Ответы 3 04-02-2002 07:45 AM



Часовой пояс GMT -4. Текущее время 07:31 AM.


Powered By: Справка, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Язык Переводы на питание от .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX и Linux Форум Авторские права © 1993-2010 годов. Все права Reserved.Ad управление RedTyger

Содержание соответствующие URL-адреса в vBSEO 3.2.0