2012-05-10 17 views
10

necesito siguiente ejemplo de escritura del golpe que se comporten de la siguiente manera:BASH: Al leer la entrada del usuario, Enter trae nueva línea

echo -e "Enter name: \c" 
read U_IP_NAME 
echo -e "You said your name is : $U_IP_NAME" 

Esta es la salida a:

Enter name: Alok 
You said your name is : Alok 

Pero quiero que se ser:

You said your name is : Alok 

¿Hay alguna manera de lograr esto?

[soluciona con solución dada por: mouviciel]

+0

que no quiere la primera línea "Introduce el nombre : Alok "? –

+0

Eso es exactamente lo que quiero .. Quiero hacer eco en la última línea, o mientras leo la entrada del usuario, hacer que el teclado "enter" NO vaya a la siguiente línea. –

+0

Si puedo permanecer en la misma línea, echo -e "\ rblahblah" me ayudará (Rellene la línea nuevamente desde el offset 0 '). ¿Pero cómo me quedo en la misma línea después de que ingresen los hits del usuario? –

Respuesta

12

Usted desea mover el cursor una línea hacia arriba. Esto se consigue con tput cuu1:

echo -e "Enter name: \c" 
read U_IP_NAME 

tput cuu1 

echo -e "Your said your name is : $U_IP_NAME" 

Más información con man tput y man terminfo.

+0

Esto funciona perfectamente. ¡Muchas gracias! –

7
read -p "Enter your uip-name: " U_IP_NAME 

-p para la pronta

Cuestiones relacionadas