Script para validar nome,cpf,telefone entre outro grep e while [RESOLVIDO]

1. Script para validar nome,cpf,telefone entre outro grep e while [RESOLVIDO]

Francisco Soares Da Silva Junior
Junior2kan

(usa Debian)

Enviado em 10/02/2018 - 02:40h

Olá pessoal, sou iniciante na programação e no shell, quero adicionar um while para quando desse "nome inválido", pudesse fazer um laço de repetição até o usuário colocar as informações corretas. Estou meio que quebrando a cabeça. E também se é possível, a partir dessa impressão de "Nome inválido" eu jogar em algum lugar num arquivo, ou até mesmo transferir a informação do echo numa variável, ou estou falando besteira?
Segue abaixo o script não terminado:
#!/bin/bash
echo "Digite seu nome: "
read NOME
echo $NOME | grep -E '^[A-Z|a-z]{1,}$' && echo -e "Login correto" || echo -e "Nome inválido"


  


2. Re: Script para validar nome,cpf,telefone entre outro grep e while [RESOLVIDO]

Lucas Moraes
lucasdemoraesc

(usa Ubuntu)

Enviado em 10/02/2018 - 08:55h

Junior2kan escreveu:

Olá pessoal, sou iniciante na programação e no shell, quero adicionar um while para quando desse "nome inválido", pudesse fazer um laço de repetição até o usuário colocar as informações corretas. Estou meio que quebrando a cabeça. E também se é possível, a partir dessa impressão de "Nome inválido" eu jogar em algum lugar num arquivo, ou até mesmo transferir a informação do echo numa variável, ou estou falando besteira?
Segue abaixo o script não terminado:
#!/bin/bash
echo "Digite seu nome: "
read NOME
echo $NOME | grep -E '^[A-Z|a-z]{1,}$' && echo -e "Login correto" || echo -e "Nome inválido"

Adeque para suas necessidades:
#!/bin/bash

while read -p "Digite seu nome: " NOME
do
if [ -z $NOME ]; then
echo "Voce nao informou seu nome"; else
echo $NOME | grep -E '^[A-Z|a-z]{1,}$' && echo -e "Login correto"
fi
done


LMC


3. Re: Script para validar nome,cpf,telefone entre outro grep e while [RESOLVIDO]

Ryuk Shinigami
Ryuk

(usa Nenhuma)

Enviado em 10/02/2018 - 19:20h

#!/bin/bash

while read -p "Login: " resp
do
if [ -z $resp ]; then
echo "Login não informado"
else
loginuser=$(grep -wc $resp /etc/passwd)
if [ $loginuser -eq 0 ];then
echo "Login incorreto"
else
echo "Ok!"
break
fi
fi
done



4. Re: Script para validar nome,cpf,telefone entre outro grep e while [RESOLVIDO]

Jefferson Rocha
slackjeff

(usa Slackware)

Enviado em 10/02/2018 - 21:25h

se for fazer várias validacoes e entradas de dado use o loop for.

for info in "Nome" "Cpf" "Telefone"; do
read -p "${info[@]}: " ${info[@]}
done


podes por um loop while dentro com ifs fazendo as verificações!
abcs

THE MAGIC SHELL PROGRAMMER.

Slackware user since ~2008
Meu canal no youtube:
https://goo.gl/ZcWSaB

Meu Site:
http://slackjeff.github.io/

Meus Programas estão aqui:
https://notabug.org/jeffersonrocha








5. OBRIGADO!

Francisco Soares Da Silva Junior
Junior2kan

(usa Debian)

Enviado em 15/02/2018 - 09:29h

Obrigado a todos pelas dicas, eu ainda estou trabalhando em cima do script, mas isso foi um colírio, desculpa a demora meus caros amigos, pois minha vida é turbulenta. Agradeço a vocês salvadores kkkkkkkk


6. Re: Script para validar nome,cpf,telefone entre outro grep e while [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 15/02/2018 - 17:41h

Junior2kan escreveu:

Olá pessoal, sou iniciante na programação e no shell, quero adicionar um while para quando desse "nome inválido", pudesse fazer um laço de repetição até o usuário colocar as informações corretas. Estou meio que quebrando a cabeça. E também se é possível, a partir dessa impressão de "Nome inválido" eu jogar em algum lugar num arquivo, ou até mesmo transferir a informação do echo numa variável, ou estou falando besteira?
Segue abaixo o script não terminado:
#!/bin/bash
echo "Digite seu nome: "
read NOME
echo $NOME | grep -E '^[A-Z|a-z]{1,}$' && echo -e "Login correto" || echo -e "Nome inválido"


Junior, segue uma sugestão sem o "while".
Use uma função, exemplo:
VLDNOME() {
read -ep " Digite o Nome: " NOME
if egrep -q '^([[:alpha:]_.]{6,})$' <<< "$NOME";then #O nome deve ter ao menos 6 caracteres...
printf " $NOME \n"
else
printf " NOME INVÁLIDO! \n" ; VLDNOME
fi
}


Att.:
Marcelo Oliver



7. Re: Script para validar nome,cpf,telefone entre outro grep e while [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 16/02/2018 - 14:57h

Junior2kan escreveu:

Olá pessoal, sou iniciante na programação e no shell, quero adicionar um while para quando desse "nome inválido", pudesse fazer um laço de repetição até o usuário colocar as informações corretas. Estou meio que quebrando a cabeça. E também se é possível, a partir dessa impressão de "Nome inválido" eu jogar em algum lugar num arquivo, ou até mesmo transferir a informação do echo numa variável, ou estou falando besteira?
Segue abaixo o script não terminado:
#!/bin/bash
echo "Digite seu nome: "
read NOME
echo $NOME | grep -E '^[A-Z|a-z]{1,}$' && echo -e "Login correto" || echo -e "Nome inválido"


Junior, caso tenha interesse, tenho o "validador" de telefone e CPF em shellscript.

marcelo oliver