[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
|
----------------------------
- Verificar tipo de variável, Alexander F. Fernandes - Esc. EDEM, 2003/05/28
- Re: [shell-script] Verificar tipo de variável,
Thobias Salazar Trevisan <=