Cómo solicitar la entrada del usuario en el script de shell

Cómo solicitar la entrada del usuario en el script de shell

Todos quieren que sus secuencias de comandos sean más interactivas, especialmente los usuarios. Los usuarios quieren sentir que están trabajando con una pieza moderna de software en lugar de algo improvisado de viejos archivos por lotes y frases crípticas de una sola vez. También quieren un script autodocumental que requiera la menor documentación posible. Si estas cosas suenan como lo que has estado esperando, sigue leyendo! Un script de shell es un lugar perfecto para la entrada del usuario porque es una construcción de programación tan simple. Esencialmente consiste en una serie de comandos que se les ha dado sus propios nombres

El comando Linux Read le proporciona la opción de solicitar la entrada del usuario. Una vez que ingresan la entrada proporcionada por el usuario, el almacén de comando proporcionó entrada a una variable. Que se puede usar más adelante en los scripts de shell. En este tutorial, aprenderá cómo solicitar la entrada del usuario en un script de shell. Además, ayudarlo a aceptar contraseñas de los usuarios en caracteres ocultos.

Tomar la entrada del usuario en Bash

Al escribir un script de shell, puede ser útil solicitar al usuario la entrada. Esto le permitirá obtener un valor específico que puede usar en su script como mejor le. También le permite hacer que su script sea interactivo al solicitar al usuario que ingrese valores como directorios y nombres de archivo.

En Bash, puede solicitar al usuario con un comando de lectura.

Leer my_var  

Aquí "leer"Es el comando Linux y"my_var"Es la variable, que almacenará el valor de entrada.

Presione Enter después de escribir el comando anterior. Verá una línea en blanco sin un aviso. Significa que el shell está esperando tu entrada. Escriba algún texto y presione el botón ENTER. Encontrarás el aviso de nuevo.

Ahora, verifique que el valor de entrada se almacene en una variable definida. Para confirmarlo, imprima el valor variable con el comando echo.

echo $ my_var 

No es necesario definir ningún tipo de datos para las variables. Shell ajusta automáticamente el tipo basado en la entrada del usuario.

También puede agregar un mensaje en la solicitud de entrada para la comodidad del usuario. Se parece a esto:

Leer -P "¿Cuál es tu nombre?? "my_var  

En este ejemplo, el comando Read es seguido por un -pag. Esto le dice al script que solicite al usuario la entrada. El texto dentro de las citas después del -pag se muestra al usuario cuando se les solicita. Al usar la lectura en sus scripts de shell, puede solicitar al usuario la entrada y almacenar los resultados en una variable. También puede usar Read para leer en un valor utilizando una variable para solicitar al usuario a otro valor. Puede usar lectura para muchas cosas, pero es más útil para leer la entrada del usuario.

Shell script para solicitar la entrada del usuario

Escriba un script de shell de muestra para solicitar la entrada del usuario y almacenarla en una variable. Asegúrese de imprimir un mensaje adecuado en la pantalla antes de solicitar la entrada. Almacene el valor de entrada en una variable y luego imprima con un mensaje de bienvenida.

Crea un nuevo archivo "aporte.mierda Y escriba a continuación el guión:

#!/bin/bash echo "Ingrese su nombre:" Leer my_var echo "Bienvenido $ my_var!"
12345#!/bin/bash echo "Ingrese su nombre:" Leer my_varecho "Bienvenido $ my_var!"

Guarde su archivo y cierre.

entrada de chmod +x.mierda ./aporte.mierda 

En el script anterior, descubrió que la entrada se solicita en una nueva línea. Para mejorarlo, use el -pag opción para imprimir el mensaje antes de la entrada con el comando leer. Con esto, omitiremos la primera línea de eco.

Edite su script y realice los siguientes cambios.

#!/bin/bash lectura -p "Ingrese su nombre:" my_var echo "bienvenido $ my_var!"
1234#!/bin/bash lectura -p "Ingrese su nombre:" my_varecho "bienvenido $ my_var!"

Nuevamente ejecute el mismo script y vea las salidas:

./aporte.mierda 

La salida se explica por sí misma. El valor ingresado se almacena en variable y luego lo imprime.

Cómo ingresar una contraseña en el script de shell

La entrada de contraseña debe estar oculta en la pantalla, similar a lo que hace el shell de Linux al configurar una contraseña en la pantalla. Las contraseñas no deben ser visibles en la pantalla.

El comando de lectura proporciona la opción de modo silencioso con "-s" Para ocultar los caracteres de entrada de la pantalla. Creemos un script de muestra para obtener la entrada de contraseña del usuario.

VIM PASO DE ENTRADA.mierda  

Agregue el siguiente script.

#!/bin/bash read -s -p "Ingrese una contraseña:" my_var echo "Su contraseña es -$ my_var"
1234#!/bin/bash read -s -p "Ingrese una contraseña:" my_varecho "Su contraseña es -$ my_var"

Guarde el archivo y cierre.

CHMOD +X PASO DE ENTRADA.mierda ./Paso de entrada.mierda 

Conclusión

Un script de shell es un lugar perfecto para la entrada del usuario porque es una construcción de programación tan simple. Esencialmente consiste en una serie de comandos que se les ha dado sus propios nombres. Esta guía de instrucciones lo ayudó a comprender la entrada del usuario en scripts de shell. Además, le proporciona un ejemplo para obtener la entrada de una contraseña en el script de shell.