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

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

Re: [shell-script] Limitar o número de caracteres lido pelo READ


From: Julio C. Neves
Subject: Re: [shell-script] Limitar o número de caracteres lido pelo READ
Date: Tue, 20 Jul 2010 11:13:20 -0300

Se vc estiver usando bash é muito simples. Troque tudo que vc fez, por:

read -n8 -p "Data: " dat
[[ $dat =~ ^[12][0-9]{3}(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])$ ]] || echo
Erro: A data deve ser no formato AAAAMMDD

Pronto taí, já com a crítica e tudo. A data digitada estará na variável
$dat.

Se vc estiver usando o ksh, sua vida será complicada, pois vc terá de ler
char a char e ir concatenando-os para formar a data mas antes terá de ver se
não foi teclado seta ou algo do gênero.

Abraços,
Julio
Cursos de Shell e Zenity em 2 fins de semana?
- SE turma de Shell/Zenity em 26/07 - address@hidden
- SP turma de Shell em 14/08 - www.4Linux.com.br
- Turmas fechadas em outras cidades ligue (21)8112-9988.


Em 20 de julho de 2010 09:55, Édnei Rodrigues <
address@hidden> escreveu:

>
>
> Bom dia pessoal.
> Estava fazendo uns testes e , na necessidade, queria que o usuário
> tivesse a liberdade de digitar somente 6 caracteres:
>
> ####Inicio do script####
>
> clear
> tput cup 2 10; echo "insira a data"
> tput cup 2 24; read data
> ## aqui começa a minha dúvida como delimitar a data digitada em apenas
> 6números e quando o usuário preencher os 6 numeros não conseguir
> inserir mais nenhum outro valor/digito? Consigo fazer isto em shell
> script?
>
> eu vi que, dando um read --help no terminal, ele tem alguns parâmetros
> como -n e -N ou -d. No entanto, eles não funcionam no script, dando
> erro de illegal option.
>
> Sabem de algum segredo ? No google ou no man, não existe esse parâmetro!
>
> Obrigado pela ajuda.
>  
>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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