Script que verifica y guarda texto en un archivo.

Script que verifica y guarda texto en un archivo.

¿Puede dar un ejemplo de una secuencia de comandos en la que se le pide al usuario que ingrese el nombre, apellido y edad? ¿Y luego comprobar si el nombre y el apellido contienen solo letras y la edad solo contiene dígitos? Y si la información es correcta se añade al expediente.

Respuesta1

Esto suena como tarea, así que nadie debería escribir el guión por ti.

En lugar de eso, sugeriría aprender a usar estos dos comandos:

Respuesta2

Úselo echopara mostrar un mensaje y readpara leer una línea de entrada. Estas son funciones integradas del shell, así que consulte el manual del shell para obtener más información.

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

Para validar la edad, verifique si contiene caracteres distintos a un dígito. La única construcción de shell incorporada portátil que permite esto es case(algunos shells tienen extensiones para la coincidencia de expresiones regulares).

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

Para validar el nombre, verifique si contiene caracteres no imprimibles. (Tenga en cuenta quelos nombres pueden contener caracteres bastante arbitrarios; Además, no todo el mundo tiene un “apellido”: trate un nombre como una cadena arbitraria).

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

Respuesta3

Si no es tarea, sugeriría considerar el uso de PERL o Python y simplemente hacer que PERL se lea así:

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

Python sería similar así que para continuar solo miraexpresión regular PERL. El guión no es exacto pero se entiende la idea.

información relacionada