BASH: при чтении пользовательского ввода Enter вводит новую строку
Мне нужен следующий образец bash script, чтобы вести себя следующим образом:
echo -e "Enter name: \c"
read U_IP_NAME
echo -e "You said your name is : $U_IP_NAME"
Это будет выводиться на:
Enter name: Alok
You said your name is : Alok
Но я хочу, чтобы это было:
You said your name is : Alok
Есть ли способ достичь этого?
[Решено с помощью решения: mouviciel]
Ответы
Ответ 1
Вы хотите переместить курсор на одну строку. Это достигается с помощью tput cuu1
:
echo -e "Enter name: \c"
read U_IP_NAME
tput cuu1
echo -e "Your said your name is : $U_IP_NAME"
Дополнительная информация с man tput
и man terminfo
.
Ответ 2
read -p "Enter your uip-name: " U_IP_NAME
-p для подсказки
Ответ 3
Вы можете попробовать этот синтаксис:
U_IP_NAME = "$ {U_IP_NAME%\\п}"