Script que verifica e salva texto em arquivo

Script que verifica e salva texto em arquivo

Você pode dar um exemplo de um script em que o usuário é solicitado a inserir nome, sobrenome e idade. E depois verificar se o nome e o sobrenome contêm apenas letras e a idade contém apenas dígitos? E se a informação estiver correta ela será adicionada ao arquivo.

Responder1

Isso parece lição de casa, então ninguém deveria escrever o roteiro para você.

Em vez disso, sugiro aprender como usar estes dois comandos:

Responder2

Use echopara exibir uma mensagem e readpara ler uma linha de entrada. Estes são componentes internos do shell, portanto consulte o manual do seu shell para obter mais informações.

echo "What is your name?"
read -r name
echo "What is your age?"
read -r age

Para validar a idade, verifique se ela contém outros caracteres além de um dígito. A única construção de shell portátil integrada que permite isso é case(alguns shells possuem extensões para correspondência de regexp).

case $age in
  *[!0-9]*) echo 1>&2 "Your age must consist of digits only."; exit 2;;
esac

Para validar o nome, verifique se contém caracteres não imprimíveis. (Observe quenomes podem conter caracteres praticamente arbitrários; além disso, nem todo mundo tem um “sobrenome”: trate um nome como uma sequência arbitrária.)

case $name in
  *[![:print:]]*) echo 1>&2 "Your name must consist of printable characters only."; exit 2;;
esac

Responder3

Se não for lição de casa, sugiro usar PERL ou Python e simplesmente fazer com que o PERL seja lido assim:

$name = <STDIN>;
chomp $name;
($forename, $surname) = split(<regex>, $name);
if($surname =~ /<regex>/) execute something

Python seria semelhante, então para continuar basta olharRegex PERL. O script não é exato, mas essa é a ideia.

informação relacionada