shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Verificar tipo de variável


From: Thobias Salazar Trevisan
Subject: Re: [shell-script] Verificar tipo de variável
Date: Wed, 28 May 2003 15:46:04 -0300 (BRT)

ae alexander,

On Wed, 28 May 2003, Alexander F. Fernandes - Esc. EDEM wrote:

> É que eu precisava verificar se o que o usuário digitou era número
> ou outro  caracter.
> E depois verificar se era letra ou outro caracter(números).
> Bom, acabei usando o sed(UI!!!).
> Existe alguma maneira de testar o valor de uma variável(de forma
> simples) para saber se ela é um número ou letra?

mmm, se for bash, para testar se tem só números na variável.

$ read -p "entre com dados: " A
entre com dados: aaaaa
$ [ "${A//[0-9]}" ] && echo caractere diferente de numeros
caractere diferente de numeros

$ read -p "entre com dados: " A
entre com dados: 123a
$ [ "${A//[0-9]}" ] && echo caractere diferente de numeros
caractere diferente de numeros

$ read -p "entre com dados: " A
entre com dados: 1234
$ [ "${A//[0-9]}" ] && echo caractere diferente de numeros
$

a idéia é substituir todos os dígitos por nada, e testar se
sobrou alguma coisa na variável.

$ A=123a4
$ echo ${A//[0-9]}
a

ou seja, sobrou o a.
Mesma coisa você pode fazer para letras:

$ A=12abcT
$ echo ${A//[a-zA-Z]}
12
$ [ ${A//[a-zA-Z]} ] && echo tem caractere diferente letras
tem caractere diferente letras

e se tiver mais caracteres permitido além de letras o números,
basta colocalos dentro do []
por exemplo de você permite com casa decimal: 3.59

$ A=12.12
$ [ ${A//[0-9\.]} ] && echo tem caractere diferente letras
$

falow

thobias
-------
echo 9446046325380026818553633794429812592304650P | dc
-------
http://www.lcp.coppe.ufrj.br/~thobias

____________________________
|
| Against - HTML Mail
| Against - MS ATTACHMENTS
|
----------------------------



reply via email to

[Prev in Thread] Current Thread [Next in Thread]