2012-05-10 9 views
10

ho bisogno seguente esempio di script bash a comportarsi come segue:BASH: Durante la lettura di input dell'utente, Enter porta nuova linea

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

Questa uscita volontà di:

Enter name: Alok 
You said your name is : Alok 

Ma voglio che be:

You said your name is : Alok 

C'è un modo per raggiungere questo obiettivo?

[risolto con la soluzione data da: mouviciel]

+0

non si desidera la prima riga "Inserire il nome : Alok "? –

+0

Questo è esattamente quello che voglio .. Voglio o echo sull'ultima riga, o mentre sto leggendo l'input dell'utente, rendere "enter" della tastiera NON andare alla riga successiva. –

+0

Se riesco a rimanere sulla stessa linea, echo -e "\ rblahblah" aiuterà (Riempi la riga di nuovo dall'offset di 0'th). Ma come posso rimanere sulla stessa riga dopo che i colpi dell'utente sono entrati? –

risposta

12

Si desidera spostare il cursore in alto di una riga. Questo risultato è ottenuto con tput cuu1:

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

tput cuu1 

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

Maggiori informazioni con man tput e man terminfo.

+0

Funziona perfettamente. Molte grazie! –

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

-p per pronta

Problemi correlati